# Glossary # * [[../|(UP)]] {{indexmenu>.#2|nsort tsort}} * See also: * [[IT/AD/Mnemonics/]] Software development and delivery involves lots of different technologies, patterns and methodologies to decrease the risk of non-delivery of a solution. Here is a Glossary of terms used on a regular basis. Where possible, they're linked back to any available reference material. ## Glossary ## ###### 1st Level Support * More: [[IT/AD/Support/]] * Support Technician must identify what the customer is trying to accomplish in order to *"solve the problem, not the symptom"*. * Tools: problems are solved using just the app [[IT/#UI/]], and some form of knowledge store (wiki, etc.) * Eg: password resets, printer urls, etc. * The goal is to field 75% of support requests. * In enterprises, often handled by a 24/7 call center. ###### 2FA {{page>IT/AD/2FA/#Summary&noheader&nofooter}}((IT/AD/2FA/)) ###### 2nd Level Support * Support Technicians are responsible for assisting Support Level 1 Support Technicians by confirming the validity of the problem and seeking *known* solutions related to these more complex issues. * Tools: may include, but not limited to, onsite installations or replacements of various hardware, software, diagnostic testing, and the utilization of remote control tools used to take over the user’s machine for the sole purpose of troubleshooting and finding a solution to the problem. * If a problem is new and/or cannot be resolved by Support Level 2, they are responsible for raising this issue to Level 3 Support. * More: [[IT/AD/Support/]] ###### 3A {{page>IT/AD/AAA/#Summary&noheader&nofooter}}((IT/AD/AAA/)) ###### 3rd Level Support * Responsible with assisting Level 2 Support Technicians, as well as research and development of solutions to new or unknown issues. * More: [[IT/AD/Support/]] ###### 3 Tier * More: [[IT/AD/Patterns/Tier Strategy/]] ###### 4 Tier * More: [[IT/AD/Patterns/Tier Strategy/]] ###### AAA Acronym for *"Authentication, Authorisation, Auditing"* * See: [[IT/#Authentication/]], [[IT/#Authorisation/]], [[IT/#Auditing/]]. ###### ADD Acronym for *"Architectural Design Document"* Sometime used in lieux of [[IT/#SAD/]] * See: [[IT/#SAD/]] ###### Accessibility * More: [[IT/AD/web/accessibility/]] ###### Acceptance Test Driven TODO * More: [[IT/AD/Specflow/]] ###### Acronyms Useful nuggets of knowledge. Memory jogs... * More: [[IT/AD/Acronyms/]] ###### AD Acronym for *"Active Directory"* * More: [[IT/AD/Active Directory/]] ###### ACiD Acronym for *"Advantages, Considerations, Disadvantages"* Too often data is summarized into information categorised as "[[IT/#Pros and Cons/]]". This is an incorrect use of *"Pro et Contras"*, the latin response to a call for a vote. The result is [[IT/#Lossy/]], in that it only shows for/against, discarding information that cannot be easily determined as to its value. The higher fidelity summation can be achieved by using: * *Advantages*: (equivalent to Pros) * *Considerations*, * *Disadvantages* * See: [[IT/#Pros and Cons/]], [[IT/#SWOT/]]. Less related, but see also: [[IT/#RACI/]]. ###### ACID Acronym for *"Atomicity, Consistency, Isolation, Durability"* * Atomicity: each transaction is "all or nothing". The operation is rolled back if any part of it fails. * Consistency: each operation moves the database from a valid state to another valid state -- never leaving it in invalid state. * Isolation: operations run in parrallel would achieve the same valid state as if run in serial. * Durability: the data is persisted in such a way that a powercut won't lose data. Used mostly when qualifying database servers. * See: [[IT/#BASE/]], [[IT/#CAP/]] * More: http://en.wikipedia.org/wiki/ACID ###### Aggregate a collection of objects, referenced by a Root [[IT/#Entity/]]. An example Aggregate would be of a Person and one or more Addresses associated to that Person. ###### Aggregate Root Entity the primary [[IT/#Entity/]] used to refer to an aggregate of Entities. Note: whether some or all of these Entities have associated Value Objects is immaterial. The Person, is the primary reference to the Aggregate, as one does not really deal with Addresses directly. SAML ###### Agile An ALM Software Deliver Methodology. ###### AgileZen Product: an online Kanban board service. * More(p): [[IT/AD/AgileZen/]] ###### Alphabetical Sort No such thing (depends on which alphabet we're talking about, right?). Technically, it's most often a [Lexigraphical](http://en.wikipedia.org/wiki/Lexicographical_order) [[IT/#ASCII/]] sort. ###### ALM Acronym for *"Application Lifecycle Management"* * See: [[IT/#Agile/]], [[IT/#Waterfall/]] ###### Anaemic Entity A [[IT/#POCO/]] Domain [[IT/#Entity/]] that has attributes, but no behaviour. This is an anti-pattern, as all Domain Entities will have some behaviour or other (validation, etc.). * See: [[IT/#POCO/]], [[IT/#OOP/]], [[IT/#Message Oriented Design/]]. * More: [[IT/AD/Code First/]] ###### Android The Google operating system that is looking poised to make [[IT/#Microsoft/]]'s Windows operating system irrelevant. Unfortunately. * See: [[IT/#Microsoft/]] * More: [[IT/AD/Android/]] ###### AntiForgeryToken * More: http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/ ###### AntiPattern a Pattern that may be commonly used during development, but that is ineffective and/or counterproductive in practice. *See Pattern*. ###### ANTLR Product: language parsing +. * More(p): [[IT/ANTLR/]] ###### Application Not a single application delivered to a client is complete in itself. The whole [[IT/#Solution/]] entails considerations of several more aspects than just the [[IT/#Application/]]. * See: [[IT/#Solution/]] ###### Apple Company/Products. * More(p): [[IT/AD/Apple/]] ###### AppHost The AppHost strategy is one where a thin *.exe (or other entry point to your application) is used host another assembly that contains the application logic. The strategy of designing your app to be a Stateless Headless CLI interfaces first, and then be hostable in the most current UI Framework, allows testing of the application's logic within different hosts – specifically unit test frameworks. * More: [[IT/AD/Patterns/AppHost Strategy/]] ###### ARIA Acronym for *"Accessible Rich Internet Applications"* * See: [[IT/About#Low-Vision Screen Readers/]] * More: http://www.w3.org/WAI/intro/aria * [[IT/AD/ARIA/]] ###### ASCII Acronym for *"American Standard Code for Information Interchange"* * More: http://en.wikipedia.org/wiki/ASCII, http://www.asciitable.com/ ###### ASMX A legacy [[IT/#Microsoft/]] technology for communicating using SOAP over HTTP simply. Replaced with WCF. * See: [[IT/#SOAP/]], [[IT/AD/WCF/]] ###### ASP.MVC Product by [[IT/#Microsoft/]]. A framework to facilitate the creation of applications that adhere to the [[IT/#MVC/]] strategies. * More(p): [[IT/AD/ASP.MVC/]] ###### ASP.NET Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/ASP.NET/]] ###### Assertion Consumer Service The [[IT/#SAML/]] endpoint on the [[IT/#SP/]] to which the [[IT/#IdP/]] HTTP 302 POST's a Form containing the [[IT/#SAMLResponse/]] after it has successfull completed [[IT/#Authentication/]] of the [[IT/#Subject/]] ###### ATD Acronym for *"Acceptance Test Driven"* An evolution of Test Driven Development focusing on automated tests of use cases inputs and outcomes, rather than the underlying code (see [[IT/#Automated Unit Testing/]]). It focuses less on the development process used to create the application, and more on testing the end use of the application. * See: [[IT/#BTD/]] * More: [[IT/AD/Specflow/]] ###### ATOM Successor to [[IT/#RSS/]], basis of [[IT/#OData/]]. * More(p): [[IT/AD/ATOM/]] ###### Auditing TODO * See: [[IT/#3A/]] ###### Authentication TODO * See: [[IT/#3A/]] ###### Authorisation TODO * See: [[IT/#3A/]] ###### AutoCAD Product. * More(p): [[IT/AD/AutoCAD/]] ###### AutoHotKey Product: * More(p): [[IT/AD/AutoHotKey/]] ###### Automated Unit Testing Testing of code units (function, statement, decision, and or code condition) using Mock Services to test their logic without interference from infrastructure requirements. * See: [[[[IT/#Infrastructure Tests/]], [[IT/#Mocking/]] ###### AutoMapper Product: * More(p): [[IT/AD/AutoMapper/]] ###### AzMan Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/AzMan/]] ###### BA Acronym for *"Business Analyst"* * See: [[IT/#BRD/]], [[IT/#URD/]], [[IT/#FRD/]] ###### BackBone A [[IT/AD/JScript/]] library. * See: [[IT/#HotTowel/]], [[IT/#Knockout.JS/]] * More: [[IT/Backbone/]] ###### BASE Acronym for *"Basically Available, Soft State, Eventually Consistent"* * See: [[IT/#ACID/]], [[IT/#CAP/]] * See: http://highscalability.com/blog/2013/5/1/myth-eric-brewer-on-why-banks-are-base-not-acid-availability.html ###### Bash Acronym for *"Bourne-Again SHell"* A unix shell, written as a replacement for the Bourne Shell ('Sh'). In windows, shows up as part of [[IT/#cygwin/]]. And [[IT/#Git Bash/]]. * See: [[IT/#Git Bash/]], [[IT/#CLI/]] ###### Basic Authentication TODO * More: [[IT/Basic Authentication/]] ###### BEST Acronym for delivering *"Business Empowering Software Tools"* * Source: Me :-) ###### BlogEngine.NET Product: * More(p): [[IT/AD/BlogEngine.NET/]] ###### BinaryFormatter * See: [[IT/#XmlSerializer/]] * More: [[IT/AD/NET/Serialization/]] ###### BitBucket Product: * More(p): [[IT/AD/BitBucket/]] ###### BitCoin * More: http://blog.cryptographyengineering.com/2013/04/zerocoin-making-bitcoin-anonymous.html ###### BeyondCompare Product: * More(p): [[IT/AD/BeyondCompare/]] ###### BRD Acronym for *"Business Requirements Document" Part of the document flow describe here: [[IT/AD/Documentation//]] Developed by a [[IT/#BA/]] within the [[IT/AD/Define//]] process, before the [[IT/#URD/]] * See: [[IT/#URD/]], [[IT/#FRD/]], [[IT/#NFRD/]], [[IT/#SRS/]] * More: [[IT/AD/Documentation/BRD/]] ###### BTD Acronym for *"Behaviour Test Driven"* * See: [[IT/#Acceptance Test Driven/]], [[IT/#Gherkin/]] * More: [[IT/AD/Specflow/]] ###### CAD Acronym for *"Composite Application Development"* * See: [[IT/#CUX/]] * More: [[IT/AD/Patterns/Composite Application Strategy|Composite Application Development (CAD)]] ###### Caliburn Micro An opinionated [[IT/#Silverlight/]] library to faciliate the creation of MVVM applications. * See: [[IT/#Silverlight/]] ###### CAP Acronym for *"Consistency Availability, Partition Tolerance"* * See: [[IT/#BASE/]], [[IT/#ACID/]] * More: http://highscalability.com/blog/2013/5/1/myth-eric-brewer-on-why-banks-are-base-not-acid-availability.html ##### Composite UI ##### Composite UX ##### Composite User Interface ##### Composite User Experience ##### CUI ##### CUX Acronym for *"Composite UX"* See: [[IT/#CAD/]] ###### Certificates TODO * More [[IT/AD/Certificates/]] ###### Chatty term used to describe uneconomical and time consuming chatter between tiers. An example would be performing only one Operation per Request (e.g.: individual requests for each operation: Authenticate, Create, Retrieve, Update, Delete, when one Chunky request would have done the job). * See: [[IT/#Chunky/]] * More: [[IT/AD/WCF/]] ###### Chunky term used to describe communication between tiers that strive for economy of resources used by combining several Operations per message. An example would be transmitting in one message a security token in a header, plus a single collection of ordered CRUD operations in the body, instead of performing a Chatty communication. * See: [[IT/#Chatty/]]. * More: [[IT/AD/WCF/]] ###### CI Acronym for *"Continuous Integration"* * See: [[IT/#TeamCity/]], [[IT/#Jenkins/]] * More(p): [[IT/AD/Continuous Integration/]] ###### Claim A `Claim` is a *statement* (e.g.: about name, identity, age, key, group, privilege, or capability) that one [[IT/#Subject/]] makes about itself, *or another [[IT/#Subject/]]*. A `Claim`s is issued by a `Provider`, packaged within [[IT/#Security Token/]]s issued by a `Security Token Service` ([[IT/#STS/]]). A `Claim` is defined by having: * [[IT/#Claim Name/]] * [[IT/#Claim Type/]] * [[IT/#Claim Value/]] * [[IT/#Claim Value Type/]] * (optionally) associated metadata. * See: [[IT/#WS-Federation/]] ###### Claim name A user-friendly name for the claim type. ###### Claim type The type of statement in the claim (first name, role, email address, etc.). Usually expressed as a [[IT/#URI/]] (eg: http://schemas.microsoft.com/ws/2008/06/identity/claims/email) ###### Claim value The value of the statement in the claim (eg: "Matt@nowhere.com"). ###### Claim value type The type of value in the claim. (eg: String) ###### Claims-aware application A relying-party ([[IT/#RP/]]) application that uses [[IT/#Claims/]] to manage [[IT/About#Authorisation/]]. ###### Claims-based identity A unique identifier that represents a specific user, application, computer, or other entity. It enables that entity to gain access to multiple resources, such as applications and network resources, without entering credentials multiple times. It also enables resources to validate requests from an entity. ###### ClearText Cleartext is transmitted or stored text that has optionally been subjected to encoding, but not been subjected to encryption. Plaintext: the quick brown fox jumps over the lazy dog Ciphertext: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD * See: [[IT/#CypherText/]] ###### ClustrMaps A service for putting on a website a map of the world, with red dots marking where vistors came from. * More: [[IT/AD/ClustrMaps/]] ###### CLI Acronym for *"Command Line Interface"* As opposed to a *"Graphical User Interface"* * See: [[IT/#CommandLine/]], [[IT/#Environment Variable/]], [[IT/#GUI/]], [[IT/#WIMP/]] * More: [[IT/AD/CommandLine/]] ###### Clients ###### Client A [[IT/#Customer/]] is similar to a [[IT/#Client/]] (ie, they are purchasing a service from a [[IT/#Vendor/]]), but a [[IT/#Client/]] is one with which the [[IT/#Vendor/]] has an ongoing relationship. Another way of putting it, is both a [[IT/#Client/]] and [[IT/#Customer/]] buys an [[IT/#Solution/]] from a [[IT/#Vendor/]], but a [[IT/#Vendor/]] may provide ongoing [[IT/#Support/]] or other services to a [[IT/#Customer/]]. In an non Consumer transaction (ie enterprise transaction) a [[IT/#Client/]] / [[IT/#Customer/]] is often not the same entity as a [[IT/#User/]] and therefore has to manage decisions and purchase based on reports as to the business value [[IT/#BRD/]], and the quality of the product developed by vendors is based on [[IT/#UAT/]] reports. The disparity between the two creates complexities: [[IT/#Vendor/]] [[IT/#PM/]]s are right to ensure the [[IT/#Customer/]]/[[IT/#Client/]] is satisfied -- but too often at the expense of the end users. In a Consumer transaction, the [[IT/#Customer/]]/[[IT/#Client/]] and the [[IT/User/]] are most often the same entity, hence the [[IT/#User/]] is able to articulate with his purchasing power -- as [[IT/#Customer/]]/[[IT/#Client/]] -- his opinion as to the value of the [[IT/#Solution/]]. * See: [[IT/#Customer/]], [[IT/#User/]] ###### Client Side MVC Framework * See: [[IT/#Durandal/]], [[IT/#HotTowel/]], [[IT/#Ember.JS/]], [[IT/#Angular.JS/]], [[IT/#CanJS/]] ###### COBIT Acronym for *"Control OBjectives for Information and Related Technologies"* A framework by ISACA that allows managers to bridge the gap between control requirements, technical issues and business risks. More: http://en.wikipedia.org/wiki/COBIT ###### Code Coverage the percentage of code tested by Automated Unit Tests. The percentage is not based on lines of code, but of one or more of the following primary criteria: function, statement, decision, and/or condition coverage. Code coverage is a metric of import to code libraries where the application /use cases are not known in advance. It is not well suited to application development testing, as it adds unnecessary cost as well as focuses on the process of producing code, rather than the known and desired behaviour. Prefer BTD Test Scenarios for application tests. * See: [[IT/#ATD/]], [[IT/#BTD/]], [[IT/#Gherkin/]], * More: [[IT/#Specflow/]] ###### CodeFirst Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/CodeFirst/]] ###### Command Line ###### CommandLine * See: [[IT/#CLI/]], [[IT/#Environment Variable/]] * More: [[IT/AD/CommandLine/]] ###### Complex Type A data type that represents a non-[[IT/#scalar/]] [[IT/#entity/]] property that does not have a key property. ###### Confidentiality A [[IT/#Security/]], often referred to as Privacy. * See [[IT/#Security/]], [[IT/#3A/]], [[IT/#Integrity/]] ###### Connection Strings ###### ConnectionStrings The configuration string that specifies information about a data source (generally a Database on an RDMS) and the means of connecting to it. * See: [[IT/AD/ConnectionStrings/]] * More: http://www.connectionstrings.com/ ###### Console2 Product: * More(p): [[IT/AD/Console2/]] ###### Controller A class that provides a centralized entry point for handling incoming request signals. In most cases, returning a View. * See: [[IT/#Front Controller/]], [[IT/#View/]], [[IT/#View Model/]]. * More: [[IT/AD/ASP.MVC/]] ###### Cookie A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is usually a small piece of data sent from a website and stored in a user's web browser while a user is browsing a website. Once expired, it is no longer transmitted from the [[IT/#UserAgent/]] back to the Web Server. It is terrible practice to use the cookie for storing database identifiers, or serialized authentication or authorisation information. * More: [[IT/AD/Cookie/]] ###### COTS Acronym for *"Commercial Off the Shelf"* * See: [[IT/#RPP/]]s. ###### CQRS Acronym for *"Command Query Responsibility Segregation"* Pattern, which is the application of the CQS P separation of data retrieval from data modification commands. * More: [[IT/AD/Patterns/CQRS|CQRS]] ###### CQS Acronym for *"Command Query Separation"* Principle of separating Data retrieval from Data Modification by using Query and Command objects. * See: [[IT/#CQRS/]] ###### Craptography A good term for something that gives the illusion of [[IT/#Privacy/]] while being functionally useless in protecting anything. * See: [[IT/#Cryptography/]], [[IT/#Privacy/]], [[IT/#Security/]] * More: http://stackoverflow.com/a/3710169 ###### CruiseControl.NET The original .NET [[IT/#CI/]] solution. Supplanted by better solutions. * See: [[IT/#TeamCity/]], [[IT/#Jenkins/]] ###### Cryptography A means of providing [[IT/#Privacy/]] why communicating between service endpoints. * See: [[IT/#Craptography/]], [[IT/#Privacy/]], [[IT/#Security/]] ###### CrystalReports Product: Not going to touch that product. Ancient COM mess. * More(p): [[IT/CrystalReports/]] ###### Culture ###### CultureCode The cultural similarities betwee distint regions The `en` part of an `en-GB` [[IT/#Culture/]]-[[IT/#Region/]] code. * See: [[IT/#Region/]], [[IT/#Localisation/]] ###### cURL Product: * More(p): [[IT/AD/cURL/]] ###### Customers ###### Customer A [[IT/#Customer/]] is similar to a [[IT/#Client/]] (ie, they are purchasing a service from a [[IT/#Vendor/]]), but a [[IT/#Client/]] is one with which the [[IT/#Vendor/]] has an ongoing relationship. Another way of putting it, is both a [[IT/#Client/]] and [[IT/#Customer/]] buys an [[IT/#Solution/]] from a [[IT/#Vendor/]], but a [[IT/#Vendor/]] may provide ongoing [[IT/#Support/]] or other services to a [[IT/#Customer/]]. In an non Consumer transaction (ie enterprise transaction) a [[IT/#Client/]] / [[IT/#Customer/]] is often not the same entity as a [[IT/#User/]] and therefore has to manage decisions and purchase based on reports as to the business value [[IT/#BRD/]], and the quality of the product developed by vendors is based on [[IT/#UAT/]] reports. The disparity between the two creates complexities: [[IT/#Vendor/]] [[IT/#PM/]]s are right to ensure the [[IT/#Customer/]]/[[IT/#Client/]] is satisfied -- but too often at the expense of the end users. In a Consumer transaction, the [[IT/#Customer/]]/[[IT/#Client/]] and the [[IT/User/]] are most often the same entity, hence the [[IT/#User/]] is able to articulate with his purchasing power -- as [[IT/#Customer/]]/[[IT/#Client/]] -- his opinion as to the value of the [[IT/#Solution/]]. * See: [[IT/#Client/]], [[IT/#User/]] ###### CUTE Acronym for *"Contextual, Uncluttered, Touch-enabled, Economic"* An acronym for current UI design. Supercedes [[IT/#WIMP/]], and [[IT/#PIG SWIL/]] * See: [[IT/#WIMP/]], [[IT/#PIG SWIL/]] ###### CygWin Linux-like environment for Windows making it possible to port software running on [[IT/#POSIX/]] systems (such as Linux, BSD, and Unix systems) to Window * See: [[IT/#Bash/]], [[IT/#Git Extensions/]] ###### CipherText ###### CypherText CypherText is transmitted or stored text that has optionally been subjected to encoding, and then subjected to encryption. Plaintext: the quick brown fox jumps over the lazy dog Ciphertext: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD * See: [[IT/#ClearText/]] ###### DataBinding the process of declaratively in the View which properties of the ViewModel it is to bind to. * See: [[IT/#MVVM/]], [[IT/#ViewModel/]], [[IT/#View/]] * More: [[IT/WPF/]], [[IT/AD/Silverlight/]], [[IT/AD/Knockout.JS/]] ###### DDD Acronym for *"Domain Driven Design"* * More: [[IT/AD/Patterns/DDD/]] ###### DDD Acronym for *"Document Driven Design"* -- a wry description for software designed by [[IT/BA/]]'s who have no technical qualification to be designing [[IT/DB/]] schemas, [[IT/#UX/]], [[IT/Audit/]]ing techincal specifications, etc. * More: [[IT/AD/Design/AntiPatterns/]] ###### DDD Acronym fro *"Detailed Design Documents"* Another name for [[IT/#TDD/]] documents. * See: [[IT/TDD/]] ###### Debugging * More: [[IT/AD/Debugging/]] ###### Design >Most people make the mistake of thinking design is what it looks like. People think it’s this veneer – that the designers are handed this box and told, ‘Make it look good!’ That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.” – Steve Jobs ###### DEV The `Dev Environment` is the collective name for the individual Dev stations used to develop the software on. Code developed on these machines are checked in, and picked up by the [[IT/#CI/]] environment, which deploys it to the [[IT/#ST/]] environment for System Testers to test the product designed during the [[IT/AD/Development//]] stage. Bugs found, are reported within [[IT/AD/TFS/]] or [[IT/AD/JIRA/]] for the developer to fix, and recheckin the compilable code. * See: [[IT/#Environment/]], [[IT/#ST/]], [[IT/#QAT/]], [[IT/#UAT/]], [[IT/#PROD/]] ###### DI Acronym for *"Dependency Injection"* * See: [[IT/AD/Patterns/Dependency Injection|Dependency Injection (DI)]] ###### Dokuwiki Product: * More(p): [[IT/AD/Dokuwiki/]] ###### DNS TODO * More: [[IT/AD/DNS/]] ###### Domain Entities * See: * [[IT/#Entity/]] * [[IT/#Value Object/]] * [[IT/#Aggregate/]] * [[IT/#Aggregate Root/]] ###### DotNetOpenAuth Product: * More(p): [[IT/AD/DotNetOpenAuth/]] ###### Draw.IO Product: A fabulous diagraming tool that does 80% of what you'll use in Visio. * More(p): [[IT/AD/Draw.IO/]] ###### DropBox Product: * More(p): [[IT/AD/DropBox/]] ###### Drupal Product: * More(p): [[IT/AD/Drupal/]] ###### DRY Acronym for *"Don't Repeat Yourself"* A pattern to refactor code in order to remove duplicates: *Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.* * More: [[IT/AD/Patterns/DRY|Don't Repeat Yourself (DRY)]] ###### DTO Acronym for *"Data Transfer Object"* An [[IT/About#/Anemic Entity/]] used as a message to transfer object state across tiers. * More: [[IT/AD/Patterns/DTO|Data Transfer Object (DTO)]] ###### DumpBin Product: * More(p): [[IT/About/DumpBin/]] ###### Durandal Product by [[IT/People/#Rob Eisenberg/]] -- the same person who wrote [[#IT/#Caliburn Micro/]]. It's a [[#Client Side MVC Framework/]]. * See: [[#Client Side MVC Framework/]], [[IT/#Ember.JS/]], [[IT/#Angular.JS/]], [[IT/#CanJS/]], [[#HotTowel/]] * See: [[IT/#Caliburn Micro/]] * More: [[IT/AD/Durandal.JS/]] ###### DVCS Acronym for *"Distributed Version Control Service"* The most well known representations of DVCS are [[IT/#Git/]] and [[IT/#Mercurial/]]. * See: [[IT/#Git/]], [[IT/#Mercurial/]] ###### Eclipse Product: * More(p): [[IT/AD/Eclipse/]] ###### EditPad Pro Product: Similar to [[IT/Textpad++/]] but with a much more powerful Regular Expression engine. * More(p): [[IT/AD/EditPad Pro/]] ###### EF Acronym for *"Entity Framework"* A set of technologies that supports development of data-oriented software applications by enabling developers to work with conceptual models that are mapped to logical schemas in data sources. Product by [[IT/#Microsoft/]]. Entity Framework * See: [[IT/#CodeFirst/]] * More(p): [[IT/AD/EF/]] ###### Entities ###### Entity An object that is not defined by its `Attributes` (see [[IT/#ValueObject/]]) but its unique `Identity` and thread of continuity. An instance of Person with an ID of 13 is an entity. ###### Environment ###### Environments ![](https://dl.dropbox.com/u/11851202/PUBLIC/SKYS/Posted/IT/About/Environments/Environments_200.png) * See: * [[IT/#DEV/]]: the developer workstations * [[IT/#CI/]]: the server they check in to, where it gets built, and automatically deployed to: * [[IT/#ST/]]: the webserver where the vendor testers test it. * [[IT/#QAT/]]: the webserver/site that if it passes ST, gets to be tested by client testers * [[IT/#UAT/]]: the webserver/site that a stakeholder users give it a final run before: * [[IT/#PROD/]]: release to end users ###### Environment Variable ###### Environment Variables Every time you start a new [[IT/#CommandLine/]] shell, windows copies all the Machine and User Environment variables into the shell. Including the [[IT/#PATH/]]. * See [[IT/#SetX/]] * More: [[IT/AD/Environment Variables/]] * More: [[IT/AD/CommandLine/]] * More: http://en.wikipedia.org/wiki/Environment_variable, [[IT/AD/CommandLine/]] ###### EMA Personal Wiki Product: * More(p): [[IT/AD/EMA Personal Wiki/]] ###### EmitMapper Product: A mapping solution comparable to [[IT/AD/AutoMapper/]] and [[IT/AD/ValueInjecter/]] * More(p): [[IT/AD/EmitMapper/]] ###### Enterprise Architect Product: * More(p): [[IT/AD/Enterprise Architect/]] ###### EnterpriseLibrary Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/EnterpriseLibrary/]] ###### Euphamism A euphemism is a generally innocuous word or expression used in place of one that may be found offensive or suggest something unpleasant. * See: [[IT/#That's Nice/]] ###### Excel * See: [[IT/#MSOffice/]] * More: [[IT/AD/Excel/]] ###### Exchange Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/Exchange/]] ###### Fiddler Product: * More(p): [[IT/AD/Fiddler/]] ###### Firewall TODO * More: [[IT/AD/Firewall/]] ###### ForgeRock Developers of [[IT/#OpenAM/]] ever since [[IT/#Oracle/]] killed [[IT/AD/OpenSSO/]] after purchasing [[IT/#Sun/]]. ###### GBO Acronym for *"Glimpse of the Blindingly Obvious"* More: [[blog/Stumbling Across Truth/]] ###### GeoJSON GeoJSON is a formalized syntax of JSON objects, optimized for storing geodata. More: [[IT/AD/GeoJSON/]] ###### Git Product: A distributed version control system ([[IT/#DVCS/]] similar to [[IT/AD/Mercurial/]]. Supersedes the centralized architecture of [[IT/AD/TFS/]] * See: [[IT/#Visual Studio Tools for Git/]] * More(p): [[IT/AD/Git/]] ###### GitBash ###### Git Bash A mashup of [[IT/AD/Git/]] and [[IT/#Bash/]]. A command line shell to enter commands. It comes with [[Git Extensions/]]. ###### Git Extensions Git, for Windows. * See: [[IT/#Visual Studio Tools for Git/]] * More: [[IT/AD/Git Extensions/]] ###### GitHub The most well publicized Git Repository service. * See [[IT/#Bitbucket/]] * More [[IT/AD/GitHub/]] ###### Gherkin the syntax used to define ATD/BTD Features as one or more similar Scenarios comprised of one or more Given {inputs}, When {action}, Then {expected results} statements. * See: [[IT/#ATD/]], [[IT/#BTD/]], [[IT/#Code Coverage/]] * More: [[IT/AD/Specflow/]] ###### Globalisation The process of designing and developing software to work in various cultures: * formatting most (not all) output according to the client's UICulture, while formatting specific outputs (usually currency) in another Culture. * designing layouts for more than just your native tongue * taking into account additional screen label space when translating strings. (A rule of thumb is to add at least 25% or more space than is required in English). * Allowing for layout to be flipped for cultures who read from right to left. * Using international encodings (UTF-8 rather than ASCII, etc). * See: [[IT/#Localisation/]] * More: [[IT/AD/Globalisation/]] ###### GLV Acronym for *Get Latest Version* ###### GraphViz Product: * More(p): [[IT/AD/GraphViz/]] ###### GUI Acronym for *"Graphical User Interface"* As opposed to a [[IT/#CLI/]]. * See: [[IT/#CLI/]], [[IT/#WIMP/]] ###### Guid Acronym for *"Globally unique IDentifier"* A 128-bit/16 byte, unique across all computers, identifier suitable for distributed environments. * ToString(x): * N: "00000000000000000000000000000000" * D: "00000000-0000-0000-0000-000000000000" * B: "{00000000-0000-0000-0000-000000000000}" >Guids are slower than integers as identities (as they are random, they have to be inserted, rather than appended, to the key table. Inserts take longer as they have to shift elements around in order to make insert space). ###### Guidelines *"Guidelines"* are not *"Standards"* -- they're not yet baked in stone. They're just there to help a team's members work independently – with minimal oversight – towards a common goal. ###### 6D ###### SixD An [[IT/#ALM/]] Methodology. ![](https://dl.dropbox.com/u/11851202/PUBLIC/SKYS/Posted/IT/About/5D/5D_200x200.png) * [[IT/AD/]] * See: [[IT/#Agile/]], [[IT/#ALM/]], [[IT/#Waterfall/]]. ###### FRD Acronym for *"Functional Required Document"* Part of the document flow describe here: [[IT/AD/Documentation//]] * See: [[IT/#BRD/]], [[IT/#URD/]], [[IT/#FRD/]], [[IT/#SRS/]], [[IT/#TDD/]] * More: [[IT/AD/Functional Requirements/]] ###### Front Controller * See: [[IT/#Controller/]]. * More: [[IT/AD/ASP.MVC/]] ###### Functional Specs ###### Functional Specifications ###### Functional Requirements See: [[IT/#FRD/]] More: [[IT/AD/Functional Requirements/]] ###### FURPS ## FURPS ## An acronym for *"Functionality, Usability, Reliability, Performance, Supportability"* * Functionality [Biz Caps, Security] * Usability [Human Factors, Accessibility, Consistency, Aesthetics, Documentation] * Reliablity [FailureRatio, Severity, Recoverabiltiy, Predictabilty, Accuracy] * Performance [Responsiveness, Throughput, Speed, Resource Consumption, * Supportability [Testability, Extensibility, Adaptability, Maintainability, Compatibility, Configurability, Serviceability, Installability, Localizability, Portability] coined by IBM. Un-memorable. See instead: [[IT/#WORKS/]] * See: [[IT/#WORKS/]], [[IT/#Qualities/]] ###### HD ###### Hard Drive * More [IT:Hard Drive]] ###### Happy Path {{page>IT/AD/Happy Path/#Summary}} ###### Hash * [[IT/AD/NET/Hashing/]] ###### High Cohesion The principle that methods of an OOP object should all perform operations within the same Problem Boundary. * See [[IT/#Problem Boundary/]], [[IT/#Low Coupling/]], [[IT/#Monolithic/]], [[IT/#SOLID/]] ###### HotTowel A library to facilitate the creation of an[[IT/#SPA/]] app. * See: [[IT/AD/SPA/]] * More: [[IT/AD/HotTowel/]] ###### HTML Acronym for *"Hyper Text Markup Language"* Why a stripped down *document* syntax is used for producing web *applications* -- beats me. * More(p): [[IT/AD/HTML/]] ###### HTTP Acronym for *"Hyper Text Transfer Protocol"* Product: * More(p): [[IT/AD/HTTP/]] ###### HTTPS Acronym for *"Hypertext Transfer Protocol Secure"* Same as [[IT/#HTTP/]], except that communication uses [[IT/#TLS/]] to encrypt the communication. * See: [[IT/#HTTP/]], [[IT/#TLS/]], [[IT/#SSL/]] ###### HTTP_USER_AGENT The HTTP Header that is sent by the [[IT/#User Agent/]] (ie browser) to the Server, telling it what it can do. * More: [[IT/HTTP_USER_AGENT/]] ###### IAM Acronym for *"Identity Access Management"* * More: [[IT/IAM/]] ###### ICAM Acronym for *"Identity, Credential, and Access Management"* * See: [[IT/#SAML/]] ###### Identity TODO ###### Identity Foundation Part of the larger [[IT/#Web Service Security/]] framework. * See: [[IT/#WS-Federation/]] ###### IdP Acronym for *"Identity Provider"* Responsible for the [[IT/#Authentication/]] of the the [[IT/#Subject/]] (User). Generally used in the context of discussing a [[IT/#SSO/]] solution. ###### IIdentity Defines the basic attributes of an identity object: Name + IsAuthenticated. A common example of the use of the IIdentity is when a [[IT/#UserAgent/]] requests a Resource, the server's security handlers checks the message Headers for a [[IT/Security Token/]], which it uses to build an *IIdentity* that it then attaches wraps with an [[IT/#IPrincipal/]] which is then attached to the current thread. Once accomplished, the message continues along the request pipeline for normal processing/rendering. Once the IPrincipal has been attached to the thread, methods can easily determine who the user is, or whether they are sufficiently authorised, by accessing the IIdentity or IPrincipal on the thread: System.Threading.Current.Principal.Identity.Name; System.Threading.Current.Principal.Identity.IsAuthenticated; System.Threading.Current.Principal.IsInRole("Mercenary"); * See: [[IT/#IPrincipal/]] * More: [[IT/AD/NET/Security/Identity/]] ###### IIS Acronym for *"Internet Information Server"* Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/IIS/]] ###### IIS Express Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/IIS Express/]] ###### InDesign Product: by Adobe * More(p): [[IT/Adobe/InDesign/]] ###### Infrastructure Tests the derisive term for unit tests that cannot be run in isolation from underlying infrastructure. * See: [[IT/#Automated Unit Tests/]], [[IT/#Mocking/]], [[IT/#Service/]]. ###### Integrity A [[IT/#Security/]] Attribute. * See: [[IT/#Security/]], [[IT/#3A/]], [[IT/#Confidentiality/]] ###### Internet Explorer Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/Internet Explorer/]] ###### INVEST An Acronym for Good Agile stories: * I – Independent * N – Negotiable.Negotiable means your input as a developer (ie, technical domain specialist) is needed. * V – Valuable * E – Estimable * S – Small * T – Testable * See: http://xp123.com/xplor/xp0308/ ###### IoC Acronym for *"Inversion of Control"* Container. ###### IOModel The generic concept for an object that contains inputs and/or outputs to act as the data source for a logical [[IT/#View/]]. (A [[IT/#View Model/]] is a specialization/subset of the of the superset IOModel concept). An IOModel can be used to back [[IT/#View/]]s, APIs, etc. The postback is a [[IT/#Reponse Model/]] * See: [[IT/#View Model/]], [[IT/#Response Model/]], [[IT/#View/]] IOModel <|.. "View Model" IOModel <|.. "Response Model" "View Model" <.. View "View Model" <.. Controller "View" <.. Controller "Response Model" <.. "Controller" ###### IPrincipal * See: [[IT/#IIdentity/]] * More: [[IT/AD/NET/Security/Identity/]] ###### Irony Product: * More(p): [[IT/AD/Irony/]] ###### iTextSharp Product: * More(p): [[IT/AD/iTextSharp/]] ###### Java Product: * More(p): [[IT/AD/Java/]] ###### JAWS Product. Low-vision reading system for windows. Price: $895 - same as for [[IT/#Windows-Eyes/]] * See: [[IT/#Low-Vision Screen Readers/]] ###### Jenkins Product: a free, [[IT/#OSS/]] [[IT/#CI/]] environment. Similar to [[IT/#TeamCity/]] * More(p): [[IT/AD/Jenkins/]] ###### JFGI Acronym for *"Just Fucking Google it."* First before bugging me... * More: [[http///justfuckinggoogleit.com/|Just f~*~**ing google it]] first. ###### JIRA Product: * More(p): [[IT/AD/JIRA/]] ###### INNER JOIN ###### OUTER JOIN ###### LEFT JOIN ###### RIGHT JOIN ###### JOIN ###### JOINs A common [[IT/#SQL/]] Operation. * More: [[IT/AD/SQL Server/HowTo/SQL/DML/Selects/Joins]] ###### JScript Product: * More(p): [[IT/AD/JScript/]] ###### JSON Acronym for *"JavaScript Object Notation"* A text-based open standard designed for human-readable data interchange. Often implemented by providing REST-ful Controllers, that respond with Object Messages serialized using JSON. When communicating between Browser Clients and web servers, it is preferred to [[IT/#XML/]] due to being less verbose than [[IT/#XML/]], as well as more easily manipulated with JavaScript than [[IT/#XML/]]. * See: [[IT/#XML/]] * More: [[IT/AD/JSON/]] ###### Jurassic.NET Product: A C# implementation of a JScript engine. I used it to back a JS based rule engine. * More(p): [[IT/AD/Jurassic.NET/]] ###### K2 Product: * More(p): [[IT/AD/K2/]] ###### KanBanPad Product: * More(p): [[IT/AD/KanBanPad/]] ###### KanBanFlow Product: * More(p): [[IT/AD/KanBanFlow/]] ###### Kendo UI Product: * See: [[IT/AD/Sencha Touch/]] * More(p): [[IT/AD/Kendo UI/]] ###### Kerboros TODO * More: [[IT/AD/Kerberos/]] ###### Key The attribute of an entity type that specifies which property or set of properties is used to identify unique instances of the entity type. ###### Knockout Product: A JScript lib that makes MVVM possible in a web application. * More(p): [[IT/AD/Knockout.JS/]] ###### Layer Whereas Tiers are physically separate computers, layers are logical separations on the same tier/computer. The logical separations are often expressed as separate assemblies within a [[IT/#Tier/]]. ###### lazy loading In [[IT/#EF/]] when objects are returned by a query, related objects are not loaded at the same time. Instead they are loaded automatically when the navigation property is accessed. ###### LDAP An acronym for *"Light Weight Directory Application Protocol"* * More: [[IT/LDAP/]] ###### Lifescribe Product: * More(p): [[IT/AD/Lifescribe/]] ###### LinqPad The most productive way to learn Linq. Buy it. Now. * More: [[IT/AD/LinqPad/]], [[IT/AD/NET/Linq/]] ###### Linux Product. * As a Destkop: it's still a failure (a quote from the web: "If Vista and Windows ME [and now Win8] couldn't push Linux to the top I'd say it falls flat.". Src: http://www.zdnet.com/big-business-buys-into-big-linux-7000013209/?s_cid=e540). * As a Server: it's growing well: http://www.zdnet.com/big-business-buys-into-big-linux-7000013209/?s_cid=e540 * More(p): [[IT/AD/Linux/]] ###### LINQ * More: [[IT/AD/NET/LINQ/]] ###### LOA Acronym for *"Level of Assurance"* See: [[IT/#SAML/]] ###### LOB Acronym for *"Line Of Business"* A term for standard enterprise applications. Not games. [[http///en.wikipedia.org/wiki/Line_of_business|Line of Business]] application. ###### Localization ###### Localisation Note: we'll be using the [[IT/#Culture/]] (English) based spelling for documents related to localisation/localization, rather than the [[IT/#Region/]]-based American spelling... * See: [[IT/#Culture/]], [[IT/#Region/]] * More: [[IT/AD/Localisation/]] ###### LocalService A predefined *local* account used by the service control manager. It preferable to use *LocalService* or [[IT/#NetworkService/]] than the much more powerful [[IT/#LocalSystem/]] * More: [[IT/AD/Service Accounts/]] ###### LocalSystem A predefined *local* account used by the service control manager. It preferable to use [[IT/#LocalService/]] or [[IT/#NetworkService/]] than the much more powerful *LocalSystem* service account. * See [[IT/AD/Service Accounts/]] ###### Log4Net Product: A logging solution more polyvalent and lighter than the one provided by [[IT/AD/EnterpriseLibrary/]] * See: [[IT/AD/NLog/]] (a newer alternative) and [[IT/EntLib/]] * More(p): [[IT/AD/Log4Net/]] ###### Loosely Coupled One of the two basic foundation concepts towards maintainable software. The other is [[IT/#High Cohesion/]]. The opposite is creating [[IT/#Monolithic/]] brittle software. * See [[IT/#High Cohesion/]], [[IT/#Monolithic/]], [[IT/#SOLID/]] ###### LoremIpsum Product: * More(p): [[IT/AD/LoremIpsum/]] ###### Low-Vision Screen Readers Screen readers that use [[IT/#ARIA/]] attributes in the page, as well as guessing, to reduce the amount of chaff read out aloud to end users. Classic examples: * [[IT/#JAWS/]] * [[IT/#Windows-Eyes/]] Other versions: * Online free version to get a quick feeling: http://webanywhere.cs.washington.edu/beta/ * See: http://usabilitygeek.com/10-free-screen-reader-blind-visually-impaired-users/ * http://en.wikipedia.org/wiki/List_of_screen_readers ###### MA Acronym for *"Master Agreement"* An agreement between two parties that sets out standard terms that apply to all the transactions entered into between those parties. Each time that a transaction is entered into, the terms of the master agreement do not need to be re-negotiated and apply automatically. * See: [[IT/#SOW/]] * More: [[IT/AD/Documentation/MA/]] ###### Mapping The proccess of mapping properties from one object to another. An example of this would be mapping a `client` (with `FirstName`, `LastName`, `Age`) to a totally different `user` object (where the properties may be called something totally different -- `FName` and `Last`, for example). If a property is not available on the second object (as is the case of the `Age`), the property is dropped. Property values can be *transformed* in the same process, but are usually expected to be able to be transformed back later. Anything more complex than that, and it starts to look like a [[IT/#Projection/]] -- which is a more complex operation. * See: [[IT/#AutoMapper/]], [[IT/#ValueInjecter/]], [[#IT/#EmitMapper/]] ###### Markdown Product: Extraordinary. Learn what it is. And start using it. Today. * More(p): [[IT/AD/Markdown/]] ###### MAXCAP An acronym for: * Model, * Automate, * Xecute, * Control, * Audit, * Perfect Used to explain the benefits of [[IT/#Workflow/]]s and [[IT/#BPM/]]. * See: [[IT/#Worflow/]], [[IT/#BPM/]] ###### Mercurial Product: A distributed version control similar to [[IT/AD/GIT/]]. Supersedes the centralized architecture of [[IT/AD/TFS/]] * More(p): [[IT/AD/Mercurial/]] ###### Message Oriented Design the use of domain entities that have their OOP based Behaviour defined as Tier-based Extension Methods, and not directly within the Object/[[IT/#Entity/]]. The use of Extension Methods removes a impedance caused by serialization across tiers, that exists with tradition OOP concepts. Not to be confused with an [[IT/#Anemic Entity/]]. * See: [[IT/#OOP/]], [[IT/#Anemic Entity/]] ###### Microsoft A company that *used* to be at the top of the pc industry, with it's OS on 96% of all personal computers. * More: [[IT/AD/Microsoft/]] ###### Mistakes Everybody does them. Some more spectacularly than others. * More: [[IT/AD/Mistakes/]] ###### MMC Acronym for *"Microsoft Management Console"* * More: [[IT/MMC/]] ###### MOA Acronym for *"Message Oriented Architecture"* * More: [[IT/AD/Patterns/Objects as Messages Strategy/]] ###### Mocking the replacement of a production Service with a mock Service that requires no infrastructure, in order to facility Automated Unit Testing. If the services need infrastructure (DBMS, WCF service, etc.) to complete, the test would be considered an Integration Test, and would be much more onerous. * See: [[IT/#Services/]] ###### MODE An acronym for *"Mandatory, Optional, Desirable, possible future Enhancement"* I've seen the above terms used instead of [[IT/#MOSCOW/]]. I prefer [[IT/#MOSCOW/]] as there is a clear WON'T statement, and the terms are sequential in scope. * See: [[IT/#MOSCOW/]], [[IT/#Requirements/]] ###### Monolithic The opposite of [[IT/#Loosely Coupled/]] software, guaranteed to be brittle and therefore costly to maintain and upgrade. Avoid at all cost. * See: [[IT/#Loosely Coupled/]], [[IT/#SOLID/]], [[IT/#DDD/]] ###### MOSCOW An acronym for *"MUST, SHOULD, COULD, WON'T"* A methodology for categorizing [[IT/#Requirements/]]. * See: [[IT/#MODE/]], [[IT/#Requirements/]] ###### MSBuild Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/MSBuild/]] ###### MSInstaller Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/MSInstaller/]] ###### MSDeploy Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/MSDeploy/]] ###### MSMQ Product by [[IT/#Microsoft/]]. * More(p): [[IT/MSMQ/]] ###### MSOffice Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/MSOffice/]], [[IT/AD/Excel/]], [[IT/AD/Visio/]] ###### MSProject Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/MSProject/]] ###### MSTSC * More: [[IT/#MSTSC/]] ###### MTBF Acronym for *"Mean Time Between Failures"* * *Stability*/*Reliability*: Mean Time Between Failures (MTBF) – What is the acceptable threshold for down-time? e.g. one a year, 4,000 hours ###### MTR Acronym for *"Mean Time to Recovery"* * Mean Time To Recovery (MTR) – if broken, how much time is available to get the system back up again? ###### MVC Acronym for *"Model-View-Controller"* The Pattern that uses a Front Controller to process a user’s request signals, and orchestrates the retrieval of a business domain [[IT/#Entity/]], which it projects into a Model suitable for merging with a View before rendering the serialization of the combined View and Model to the Client. Changes by the User are posted back to the Controller which combines the posted back values as needed to create an updated Model, and it repeats the process of recreating a View, serializing it, and sending it back to the client. The ASP.MVC framework is a server side implementation of the MVC framework. * See: [[IT/#MVVM/]] * More: [[IT/AD/Silverlight/]], [[IT/AD/Knockout.JS/]] ###### MVVM Acronym for *"Model View ViewModel"* The Pattern dynamically Binds a View to a ViewModel on the client, rather than the server, as one does with MVC. Advantages of the MVVM Pattern as compared to MVC (as implemented by ASP.MVC) is that it removes the need to post back to the server for interim changes to the ViewModel. All changes are done on the client. In addition, changes to ViewModel properties are automatically propagated to all interested (ie Bound) controls. * See: [[IT/#MVC/]], * More: [[IT/AD/Silverlight/]], [[IT/AD/Knockout.JS/]] ###### Naked Objects Pattern The premise that if you have a good enough domain Model, the UI can simply be a reflection of this domain model; and vice-versa, if you require the UI to be a direct reflection of the domain model then this will force the design of a better domain model. * See: [[IT/#POCO/]], [[IT/#Entity/]], [[IT/#Message Oriented Design/]] ###### Navigation Property A property of an [[IT/#EF/]] entity type that represents a relationship to another entity type, as defined by an association. Navigation properties are used to return related objects as an EntityCollection or an EntityReference, depending on the multiplicity at the other end of the association. Unlike other properties, navigation properties do not carry data. * See: [[IT/#EF/]] ###### NDNC Acronym for *"Non Disclosure, Non Circumvention"* or *"Non Disclosure, Non Compete"*. A confidentiality agreement. * More: http://en.wikipedia.org/wiki/Non-disclosure_agreement ###### NDepend Product: * More(p): [[IT/AD/NDepend/]] ###### NET The Microsoft .NET Framework A Product by [[IT/#Microsoft/]]. * More: [[IT/AD/NET/]] ###### NETSqlAzMan Product: An authentication service. Superceds [[IT/AD/SQLAzman/]]. * More(p): [[IT/AD/NETSqlAzMan/]] ###### Network TODO * More: [[IT/AD/NETwork/]] ###### NetworkService A predefined *local* account used by the service control manager. It preferable to use [[IT/#LocalService/]] or *NetworkService* than the much more powerful [[IT/#LocalSystem/]] * More: [[IT/AD/Service Accounts/]] ###### NHibernate Product: * More(p): [[IT/AD/NHibernate/]] ###### Ninject Product: An IoC solution. * See: [[IT/AD/Unity/]] * More(p): [[IT/AD/Ninject/]] ###### NLog Product. A newer alternative to the aging [[IT/#Log4Net/]] * See: [[IT/AD/Log4Net/]], [[IT/EntLib/]] * More [[IT/AD/NLog/]] ###### Node.JS Product: * More(p): [[IT/AD/Node.JS/]] ###### Non-Functional Specs ###### Non-Functional Specifications ###### Non-Functional Requirements Developed during the [[IT/AD/Define//]] phase, these are Specifications of the [[IT/#Technical Qualities/]] (as opposed to the [[IT/#TDD/]]) that must be met by the technology proposed to add value to a business. See [[IT/Requirements/]] for a description of the difference between [[IT/#Functional Requirements/]] and [[IT/#Non-Functional Requirements/]] * See: [[IT/#FDD/]], [[IT/#TDD/]] * More [[IT/AD/Non-Functional Requirements/]], [[IT/#Qualities/]] ###### Notepad++ Product: A first class text editor. * See:[[IT/AD/EditPad Pro/]] * More(p): [[IT/Notepad++/]] ###### NTFS TODO * More: [[IT/AD/NTFS/]] ###### N Tier A [[IT/#4 Tier/]] (or larger) application -- as compared to a [[IT/#3Tier/]] application. * More: [[IT/AD/Patterns/Tier Strategy/]] ###### NTLM TODO * More: [[IT/AD/NTLM/]] ###### NVelocity Product: * More(p): [[IT/AD/NVelocity/]] ###### Nuget Product: NuGet is a [[IT/#Visual Studio/]] extension that makes it easy to install and update third-party libraries and tools in [[IT/#Visual Studio/]]. * More(p): [[IT/AD/Nuget/]] ###### NUI Acronym for *"Natural User Interface"* It's about progressing beyond ([[IT/#CUTE/]]) Touch enabled [[IT/#UX/]], towards Voice, Eye tracking, etc. as per Google Glass, etc. * See: [[IT/#UX/]] ###### OAuth * [[IT/AD/OAuth/]] ###### OData Product: Based on [[IT/AD/Atom/]], used by `WCF Data Services` to provide Linq-able CRUD over the wire. * More(p): [[IT/AD/OData/]] ###### OIOSAML An open source .NET SAML library release by the danish gov. * More: [[IT/#SAML/]], [[IT/AD/OIOSAML/]] ###### OOP Acronym for *"Object Oriented Programming"* A programming methodology of defining entities as objects that have attributes defined as Fields, and associated behaviour, defined as Methods. ###### OSS Acronym for *"Open Source Software"* Advantages to showing your code to the world are many (less bugs), at the cost that you have to run to keep ahead of the competition who can copy/clean-room emulate it. * More: [[IT/AD/OSS/]] ###### OpenAM * More(p): [[IT/AD/OpenAM/]] ###### OpenSSO Under Sun, was an open source access management and federation server platform. Oracle killed it. OpenSSO will continue to be developed and supported by [[IT/#ForgeRock/]] under the name of [[IT/#OpenAM/]] An [[IT/#SAML/]] solution. * See: [[IT/#OpenAM/]] * More(p): [[IT/AD/OpenSSO/]] ###### OTB ###### OOTB Acronym for *"Out of the Box"* A criteria for a feature (*"feature xxx is available OOTB"*). Often seen in [[IT/#RFP/]]s. ###### Outlook Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/Outlook/]] ###### Outside-In Testing * See: [[IT/#ATD/]], * More: [[IT/AD/Specflow/]] ###### Pattern A design pattern is a general reusable solution to a commonly occurring problem within a given software development context. It is not a finished design that can be transformed directly into code. It is a description or template for how to approach and solve a problem that can be used. Patterns are formalized best practices that the programmer must implement themselves in the application. * See: [[IT/#AntiPattern/]] ###### PATH One of the Machine [[IT/#Environment Variable/]]s. Every time you start a new [[IT/#CommandLine/]] shell, windows copies all the Machine and User Environment fields into the shell. Including the `PATH`. Every time you type the name of an *.exe, *.bat, etc. the shell tries to find the app in one of the directories within `PATH`. Consideration: If you update the PATH in the shell, it's only temporary. You need to do it using the windows Gui * More: [[IT/AD/Environment Variables/HowTo/Set PATH]] ###### PayPal Product: As far as I can tell, the only payment service that can currently be used outside the US, that doesn't require a merchant account. * More(p): [[IT/AD/PayPal/]] ###### Pen-Test A `Penetration Test` to check an whether application has a [[IT/#Risk/]] that a [[IT/#Threat/]] can [[IT/#Exploit/]] any [[IT/#Vulnerability/]]. ###### PerformanceCounters ###### Performance Counters * More: [[IT/AD/Performance Counters/]] ###### Phantom.JS A Scriptable WebKit for testing UX. * See: [[IT/#Slimer.JS/]] * More: * [[IT/AD/DefectFix/Unit Testing/HowTo/UX Testing]] * [[IT/#Phantom.JS/]] * http://phantomjs.org * https://github.com/ariya/phantomjs ###### PHP Acronym for *"PHP: Hypertext Preprocessor"* (a recursive acronym...) * More: [[IT/AD/PHP/]] ###### PIG SWIL An Acronym: stands for *"Poorly Interractive Graphics, Static Web Interface Layouts"* A description of UI patterns that became prevalent due to the use of server side HTML rendering frameworks such as [[IT/AD/ASP.NET/]]. Superceded by [[IT/#CUTE/]], which uses the client side browser to fuller advantage. * See: [[IT/#MVVM/]], [[IT/#WIMP/]], [[IT/AD/ASP.NET/]], [[IT/AD/Knockout.JS/]] ###### PlantUML Product: * More(p): [[IT/AD/PlantUML/]] ###### POCO Acronym for *"Plain Old CLR Objects"* The notion that Domain Entities should be expressed with objects that only describe business domain properties, rather than express requirements of a specific framework. POCO objects do not contain any logic that is related to data storage. * See: [[IT/#Self-Tracking Entity/]], [[IT/#Naked Objects Pattern/]] ###### POSIX Acronym for *"Portable Operating System Interface"* A set of standards/protocols, defining the application programming interface (API), command line shells, and utility interfaces required for software compatibility with variants of Unix and other operating systems. * See: [[IT/#CygWin/]], [[IT/#Git Bash/]] ###### PRG Acronym for *"Post-Rirect-Get"* POST-Redirect-GET Browser Pattern: the goal of the pattern is to prevent the payload of a HTTP POST request from being stored in the **browser history** (ie, don't use it for [[IT/AD/REST/]]). ###### Problem Boundary the boundary between one domain of though/behaviour and another. Defining problem boundaries correctly aids in applying the Single Responsibility Principle (SRP), leading to modular and maintainable code. An example would be to break down the general subject of Security into 3 distinct sub sections: Authentication, Authorisation, and Auditing. * See: [[IT/#SOC/]], [[IT/#SRP/]] ###### Problem Contour * See: [[IT/#Problem Boundary/]] ###### PROD The environment in which the product developed during the [[IT/AD/Development//]] phase is [[IT/AD/Delivery//]]ed. * See: [[IT/#Environment/]], [[IT/#ST/]], [[IT/#QAT/]], [[IT/#UAT/]], [[IT/#PROD/]] ###### Projection Whereas [[IT/#Mapping/]] is about transfering similar variables between one object and another similar target object, projection is the process of mapping more than one object into a single target object (eg: User + Address projected into a UserAddress[[IT/#View Model/]]). * See: [[IT/#Mapping/]] ###### Pros and Cons Fromt latin, *"Pro et Contras"*, a response to a call for a vote. All to often used to summarize data into information. The result is [[IT/#Lossy/]], in that it only shows for/against, discarding information that cannot be easily determined as to its value. Prefer to use [[IT/#ACiD/]] as categorisation mechanism. * See: [[IT/#ACiD/]], [[IT/#SWOT/]] ###### Proxy * More: [[IT/Proxy/]] ###### Proxy Object In [[IT/#EF/]], an object that derives from a [[IT/#POCO/]] and is generated by the [[IT/#EF/]] to support change tracking and lazy loading. TODO: In .NET... * More: [[IT/Proxy Object/]] ###### puTTY Product: * More(p): [[IT/AD/puTTY/]] ###### Python Product: * More(p): [[IT/AD/Python/]] ###### QAT Acronym for *"Quality Assurance Test"* (Site) After the product has gone through testing by the developers testers on the [[IT/#ST/]] server, the product is delivered to the client's testers for them to confirm compliance to the specifications defined within the [[IT/AD/Design//]] phase. If it passes the client's testers, it then is deployed to the [[IT/#UAT/]] environment for the stake holders to have a play with it. * See: [[IT/#Environment/]], [[IT/#ST/]], [[IT/#QAT/]], [[IT/#UAT/]], [[IT/#PROD/]] ###### Qualities * More: [[IT/AD/Non-Functional Requirements/Qualities/]] ###### Quality Requirements Another name for [[IT/#Non Functional Requirements/]] * See: [[IT/#Non Functional Requirements/]], [[IT/#NFRD/]] ###### Quickgraph Product: * More(p): [[IT/AD/Quickgraph/]] ###### RabbitMQ Product: * More(p): [[IT/AD/RabbitMQ/]] ###### RACI An acronym for *"Responsible, Accountable, Consulted, Informed"* Used for [[IT/#RFP/]]'s, etc. clearly defining Engagement. Do not state you are Responsible if you cannot control outcome, etc. * Responsible: The people responsible for getting the job done. * Accountable Exactly one person accoutnable for each activity. Owner of end result and quality. * Consulted: involved through input of knowledge and information * Informed: receiving information abdout process execution and quality * Ref: http://www.continentalsoftware.com/raci-model/ * See: [[IT/#ACiD/]], [[IT/#SWOT/]] ###### RACS Acronym that stands for *"Request Assertion Consumer Service"*. It's the HttpHandler that an [[IT/#IdP/]] POST REDIRECT's to with the Response, which is then parsed by the RACS into an Claims IIdentity. See: [[IT:#SAML] More: [[IT/AD/SAML/HowTo/Understand/Profiles/Web Browser SSO Profile]] ###### RDL Acronym for *"Report Definition Language"* The XML used to define a [[IT/#SSRS/]] report. ###### RDP Acronym for *"Remote Desktop Protocol"* A proprietary [[IT/#Microsoft/]] protocol for allowing a client to remotely login to a computer across the net. The service by default exposed on 3389. * See: [[IT/# * More/ [[IT/AD/RDP/]] ###### Region ###### RegionCode A distinct country or region within a specific [[IT/#Culture/]]. The `GB` part of a `en-GB` [[IT/#Culture/]]-[[IT/#Region/]] code. * See: [[IT/#Culture/]], [[IT/#Localisation/]] ###### Remote Desktop Services The current name for the service that provides [[IT/#RDP/]] Used to be called [[IT/#Terminal Services/]] ###### ReportServer Product: * More(p): [[IT/AD/ReportServer/]] ###### Requirements AD Requirements should define the requirements for 3 different domains: * Business * User * System ![](https://dl.dropbox.com/u/11851202/PUBLIC/SKYS/Posted/IT/AD/Define/Requirements.png) Requirements should be: * Correct * Unambiguous * Complete * Consistent * Ranked for importance and/or stability * Verifiable * Modifiable * Traceable More: [[IT/Requirements/]] ###### Resharper Product: Fantastic. Essential for all developers in .NET space. It's byline is "Makes Refactoring Safe". And it's true. * More(p): [[IT/AD/Resharper/]] ###### ResponseModel ###### Response Model What is posted back from a [[IT/#User Agent/]] to a [[IT/#Controller/]]. Although common in [[IT/#MVC/]] applications, to use the [[IT/#View Model/]] for both rendering and postback handling (i.e.: the response is used to hydrate a *View Model*, rather than a distinct *Response Model*, as the Controller Action's method argument) -- *they are not the same thing*. * See: [[IT/#View Model/]],[[IT/#MVC/]], [IT:#Controller]] >Note: once again, "View Model" is a distinct term from "ViewModel" ###### REST Acronym for *"Representational State Transfer"* A style of communication based on Http VERBs rather than SOAP operations to do CRUD operations. Replacing [[IT/AD/WCF/]] for scenarios that don't require WS-*. * See: [[IT/#SOAP/]] * More: [[IT/AD/REST/]], [[IT/AD/WCF/]]. ###### RIA Acronym for *"Rich Internet Application"* * More: [[IT/AD/Silverlight/]] ###### Risk Risk is where [[IT/#Threat/]]s and [[IT/#Vulnerability/]] overlap. That is, we get a risk when our systems have a vulnerability that a given threat can attack. * See: [[IT/#Threat Assessment/]] ###### RP Acronym for *"Relying Party"* A [[IT/#WS-Federation/]] concept. is the Application the [[IT/#Subject/]] (ie end user) is trying to get access to. It relies on and uses [[IT/#Claim/]]s in `Security Tokens` ([[IT/#ST/]]) that a claims provider issues. For example, an online auction website organization might receive a security token with claims that determine whether a subject can access all or part of a relying party's application. * See: [[IT/#WS-Federation/]] ###### RST Acronym for *"Request for a Security Token"* A [[IT/#WS-Federation/]] concept. The [[IT/#Requestor/]] (ie, the [[IT/#Subject/]]'s Browser within a [[IT/WS-Fedederation/Passive Requestor Profile/]] scenario, passes a `Request for Security Token` ([[IT/#RST/]]) to the `Security Token Service` ([[IT/#STS/]]). * See: [[IT/#WS-Federation/]] ###### RSTR Acronym for *"Request for Security Token Response"* A [[IT/#WS-Federation/]] concept. * See: [[IT/#WS-Federation/]] ###### RWA Acronym for *"Rich Web Application"* A better name than [[IT/#SPA/]] as we're talking about more than a "single page". ###### Ruby Product: * More(p): [[IT/AD/Ruby/]] ###### SAD Acronym for the *"Solution Architecture Document"* It is the deliverable of the [[IT/AD/Design/Architecture/]] phase. Sometimes it's called the [[IT/#ADD/]] * See: [[IT/ADD/]] * More: [[IT/AD/SAD/]], [[IT/AD/Design/Architecture/]] ###### SAML Acronym for *"Security Assertion Markup Language"* It is a *protocol*, not just an *xml format/language*. [[IT/#Microsoft/]] appears to be been pushing for a distinction between the two, using SAML to describe the language/format, and use [[IT/#SAML-P/]] for the Protocol. Although it's doomed to fail (partly because it's only being pushed by Microsoft, and the horse has already bolted), I applaud the distinction -- and will keep the notes on the two concerns separate. >Note: A potential confusion is that a part of SAML -- the XML used as a [[IT/#XML/]]-based [[IT/#Security Token/]] format that carries SAML [[IT/#Assertion/]]s ([[IT/#Claim/]]s) in a secure manner -- is **also** used by [[IT/#WS-Federation/]], the default protocol behind [[IT/#WIF/]]. * [[IT/#SAML-P/]], [[IT/#SAML Assertion/]], [[IT/#WS-Federation/]] * More: [[IT/AD/SAML/]] ###### SAML-P Acronym for *"Security Access Markup Language Protocol"*. A Protocol for security, distinct from [[IT/#WS-Federation/]] which [[IT/#Microsoft/]] was/is pushing with [[IT/#WIF/]] * See: [[IT/#SAML/]], [[IT/#WS-Federation/]] * More: [[IT/AD/SAML-P/]] ###### SAML Assertion A `SAML assertion` is a package of information including: * issuer: who issued the assertion, when was it issued and the assertion identifier. * subject: the name of the subject, the security domain and optional subject information, like public key. * conditions: special kind of conditions under which the assertion is valid, like validity period, audience and target restrictions. * advice: additional explaining on how the assertion was made, for example. * and/or attribute statements, * and/or authentication statements * and/or other statements. * See: [[IT/#SAML/]] * More: [[IT/AD/SAML/HowTo/Understand/Assertions]] ###### Samsung * More: [IT:Samsung]] ###### Sandcastle Product: an [[IT/#OSS/]] lib to convert C# code comments into html based documentation. Used in Continuous Integration. * More(p): [[IT/AD/Sandcastle/]] ###### SCM An Acronym for *"Source Control Management"* -- which is what a [[IT/#DVCS/]] does. * See: [[IT/#VCS/]], [[IT/#DVCS/]], [[IT/#Git/]], [[IT/#Mercurial/]] * More: http://en.wikipedia.org/wiki/Source_Control_Management ###### Security Covers: * [[IT/#Authentication/]] * [[IT/#Authorisation/]] * [[IT/#Auditing/]] * [[IT/#Confidentiality/]]: privacy -- non snuperability * [[IT/#Integrity/]]: non tamperability * See [[IT/#3A/]] ###### Security Token An on-the-wire representation of [[IT/#Claims/]]. In the case of [[IT/#WS-Federation/]], it is cryptographically signed by the issuer of the claims, providing strong proof to any relying party as to the integrity of the claims and the identity of the Security Token issuer. ###### Security Token Service `Security Token Service`: TODO * See: [[IT/#WS-Federation/]] ###### SemVer ###### Semantic Versioning A versioning convention: * Major: Breaking changes. * Minor: New features, but backwards compatible. * Patch: Backwards compatible bug fixes only. * More [[IT/AD/Semantic Versioning/]] ###### Self-Tracking Entity An [[IT/#EF/]] entity built from a Text Template Transformation Toolkit (T4) that has the ability to record changes to scalar, complex, and navigation properties. * See: [[IT/#POCO/]] ###### SETX A [[IT/#CommandLine/]] tool to set variables in the current [[IT/#CLI/]]. * About: [[IT/#CLI/]] * More: [[IT/AD/SetX/]] ###### Sencha Touch Product: * See: [[IT/#Kendo UI/]] * More(p): [[IT/AD/Sencha Touch/]] ###### Serialization The process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted across a network connection link and "resurrected" later in the same or different computer environment. * See: [[IT/#XmlSerializer/]], [[IT/#BinaryFormatter/]] * More: [[IT/AD/NET/Serialization/]] ###### Service Account ###### Service Accounts * See: [[IT/#NETWORKSERVICE/]], [[IT/#LOCALSERVICE/]], [[IT/#LOCALSYSTEM/]] * More: [[IT/AD/Service Accounts/]], [[IT/AD/Environment Variables/HowTo/Set for Services]] ###### Services Stateless helper classes containing operations when the operations are not suitable to be defined as OOP behaviours of the [[IT/#Entity/]]. To comply with SRP, their methods have High Cohesion. To comply with LSP -- and for Automated Unit Testing purposes -- concrete implementations are implementations of Contracts. >A Service is the Technical Authority for a Specific Capability (Technical or Business). * See: [[IT/#SOC/]], [[IT/#SRP/]] ###### Session Cookie TODO ###### Sharding Horizontal partitioning is a database design principle whereby rows of a database table are held separately, rather than being split into columns (which is what normalization and vertical partitioning do, to differing extents). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location. There are numerous advantages to this partitioning approach. Since the tables are divided and distributed into multiple servers, the total number of rows in each table in each database is reduced. This reduces index size, which generally improves search performance. * More: [[IT/AD/Sharding/]] * More: http://en.wikipedia.org/wiki/Sharding ###### SharePoint Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/SharePoint/]] ###### Silverlight Product by [[IT/#Microsoft/]]. Erased as it's not going anywhere soon. * More(p): [[IT/AD/Silverlight/]] ###### Single Point of Failure A single point of failure (SPOF) is a part of a system that, if it fails, will stop the entire system from working. * More: http://en.wikipedia.org/wiki/Single_point_of_failure ###### Slimmer.JS A Scriptable Gecko (Mozilla) for testing UX. SlimerJS is similar to PhantomJs, except that it runs Gecko, the browser engine of Mozilla Firefox, instead of Webkit. * See: [[IT/#Phantom.JS/]] * More: * [[IT/AD/DefectFix/Unit Testing/HowTo/UX Testing]] * [[IT/Slimmer.JS/]] * http://slimerjs.org/ ###### SLO Acronym for *"Single Log Out"* As appossed to [[IT/#SSO/]] *See: [[IT/#SSO/]] ###### SMARTASS An acronym for *"Seriously: Meetings are rarely the Appropriate Software Solution"* :-) ###### SOAP An acronym for "*Simple Object Access Protocol"*. A protocol for WebServices to exchange structured information using an extensible model. A SOAP message is comprised of an Envelope, which contains a Header and Body. The Body contains the structured information, whereas the Header is used to contain security and routing information, depending on the transmission protocol used. * See: [[IT/#WCF/]], [[IT/#WebService/]] * More: [[IT/AD/SOAP/]], [[IT/AD/WebAPI/]] ###### SoapUI Product: * More(p): [[IT/AD/SoapUI/]] ###### SOC Acronym for *"Separation of Concerns"* The idea that a software system must be decomposed into parts that overlap in functionality as little as possible. The application of SOLID/Single Responsibility Pattern such that Services focus on their primary area of expertise/concern and delegate to other Services for specialized assistance, rather than use private helper methods. E.g: IActiveDirectoryService may specialize in using LDAP to communicate with Active Directory, and will use tracing, caching, and retrieve [[IT/#AppHost/]] settings, but instead of encoding this logic within itself, will use methods available in ITracingService, ICachingService, and IAppHostSettingsService. * More: [[IT/AD/Patterns/SOC/]], [[IT/AD/Patterns/SOLID/SRP/]] ###### SOE Acronym for *"Standard Operating Environment"*. An hardware criteria used in specifications and contracts (*"End user PC will be SOE (WinXP, IE7, MS2007)"*). ###### SOLID A mnemonic acronym to define the “First Five Principles” identified by Robert C. Martin , that are the basis of modular, maintainable, software development. The acronym stands for: * [[IT/AD/Patterns/SOLID/SRP|Separation of Concerns (SOC)]]: objects have only one single responsibility. * See: [[IT/#High Cohesion/]] to its logical conclusion. * [[IT/AD/Patterns/SOLID/OCP|Open/Close Principle (OCP)]] software entities should be open for extension, closed for modification. * [[IT/AD/Patterns/SOLID/LSP|Liskov's Substitution Principle (LSP)]]: objects should be replaceable with instances of their subtype without altering the correctness of that program. * See: “design by contract”, [[IT/#Low Coupling/]]. * [[IT/AD/Patterns/SOLID/ISP|Interface Segregation Principle (ISP)]]: many client specific interfaces are better than one general purpose interface. * [[IT/AD/Patterns/SOLID/DIP|Dependency Inversion Principle (DIP)]]: One should Depend upon Abstractions, rather than Concretions. * **Important:** http://lostechies.com/derickbailey/2011/09/22/dependency-injection-is-not-the-same-as-the-dependency-inversion-principle/ ###### Solution No single [[IT/#Application/]] delivered to a client is complete in itself. The whole [[IT/#Solution/]] entails considerations of the following *at the very least*: * infrastructure (network topology, dmz, routing rules, url rewriting rules, certificates required, expiration thereof) * interaction with other services (protocols, ports, scheduling, reporting, etc.) * deployment (install packaging, instructions, support scripts, etc.) In addition, some of the above require coordination of non-technical resources: * backup mechanisms * DR procedures * etc. An application, in itself, is just two to three memory spaces. ###### SOW Acronym for *"Statement of Work"* Part of the document flow describe here: [[IT/AD/Documentation//]] * More: [[IT/AD/Documentation//]] ###### SP Acronym for `Service Provider`. A [[IT/#SAML/]] term for the actual application/website the [[IT/#Subject/]] is using his/her [[IT/#UserAgent/]] to navigate to. ###### SPA Acronym for *"Single Page Application"* A single page web application that does not post refresh the whole page, but uses AJAX to refresh just a View within the Page. * More: [[IT/AD/SPA/]] ###### SPANK IT An acronym for *"Software Poorly Analysed Nearly Kills IT"*. Source: Me. After a bad day looking at [[IT/#Functional Specs/]] that incorrectly includes technical concerns and/or incorrectly determines and defines the [[IT/#Problem Contour/]]. * See: [[IT/#That's Nice/]] ###### Specflow The name of a .NET implementation automated ATD/BTD framework to test features using Gherkin based scenario scripts. * See: [[IT/#ATD/]], [[IT/#BTD/]], [[IT/#Code Coverage/]], [[IT/#Gherkin/]] * More: [[IT/AD/SpecFlow/]]. ###### SQL Acronym for *"Structured Query Language"* TODO * More: [[IT/AD/SQL/]] ###### SQLAzman Product by [[IT/#Microsoft/]]. Legacy Role based authorisation system. Superceded by NETSqlAzman. * More(p): [[IT/AD/SQLAzman/]] ###### SQL Server Reporting Services Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/SQL Server Reporting Services/]] ###### SQL Server Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/SQL Server/]] ###### SQL Compare Product: * More(p): [[IT/AD/SQL Compare/]] ###### SQL Data Compare Product: * More(p): [[IT/AD/SQL Data Compare/]] ###### SquishIt Product: * More(p): [[IT/AD/SquishIt/]] ###### SRS Acronym for *"Systems Requirements Specification"* Part of the document flow describe here: [[IT/AD/Documentation//]] * See: [[IT/#FRD/]], [[IT/#NFRD/]], [[IT/#SAD/]] ###### SRD Acronym for *"Systems Requirements Document"* Part of the document flow describe here: [[IT/AD/Documentation//]]. The SRD is the same thing as the [[IT/#SRS/]] * [[IT/#SRS/]] ###### SSH Acronym for *"Secure SHell"* * More(p): [[IT/AD/SSH/]] ###### SSL Acronym for *"Secure Socket Layer"* SSL 3.0 *May* be unsecure. Superceded by [[IT/#TLS/]] * See: [[IT/#TLS/]] * More: http://en.wikipedia.org/wiki/Transport_Layer_Security ###### SSO Acronym for *"Single Sign-On"* When accessing different applications owned by different organizations, having to authenticate everytime you go from one application to another is annoying. * See: [[IT/#IDP/]], [[IT/#SAML/]], [[IT/#OpenID/]] * More: [[IT/AD/SSO/]] ###### SSRS Acronym for "*Sql Server Reporting Services*" [[IT/#Microsoft/]]'s server-based report generation software. * See: [[IT/#Crystal Reports/]], [[IT/#iTextSharp/]], [[IT/#Aspose/]] * More: [[IT/AD/SSRS/]] ###### ST Acronym for *"System Test"* Environment. The `System Test` Environment is the server on which the [[IT/#CI/]] server deploys the product developed during the [[IT/AD/Development//]] process, in order for System Testers to test. Bugs found, are reported within [[IT/AD/TFS/]] or [[IT/AD/JIRA/]] for the developer to fix, and recheckin the compilable code. * See: [[IT/#Environment/]], [[IT/#ST/]], [[IT/#QAT/]], [[IT/#UAT/]], [[IT/#PROD/]] ###### Security Token ###### ST Acronym for *"Security Token"* An on-the-wire representation of *n* [[IT/#Claim/]]s that is cryptographically signed by the claims issuer. The signage provides strong proof to any [[IT/#Relying Party/]]: * the identity of the issuer. * the integrity of the [[IT/#Claim/]]s within * See: [[IT/#WS-Federation/]] ###### STAR Acronym for * Situation * Task (Goal) * Actions undertaken * Result achieved It's a way of describing a situation and the behavior you demonstrated in that situation. Consider STARI ###### STARI Same as STAR, ending with I (improvements to do next time). ###### STEM Acronym for *"Stop! Think! Estimate (the potential damage)...Mail/Move!"* A reminder to pause before hitting the Send button...then get back to action. ###### Stripe Product: An emerging online payment solution. *See: [[IT/AD/PayPal/]] * More(p): [[IT/AD/Stripe/]] ###### STS Acronym for *"Security Token Service"* TODO * See: [[IT/#WS-Federation/]] ###### Subject A [[IT/#SAML/]] Term. The end user/actor. He's entering [[IT/#URL/]]'s into the [[IT/#UserAgent/]]. * See: [[IT/#SAML/]], [[IT/#WS-Federation/]] ###### SugarSync Product: * More(p): [[IT/AD/SugarSync/]] ###### Support * Support is broken down into several levels: * [[IT/#1st Level Support/]] * [[IT/#2nd Level Support/]] * [[IT/#3rd Level Support/]] ###### Support Technician Provide support to [[IT/#Users/]] Depending on their experience with the product and/or technical skills, they may be a Level 1, Level 2, or Level 3 Support Technician. ###### SvcUtil Product by [[IT/#Microsoft/]]. The ServiceModel Metadata Utility tool generates *.cs code from wsdl. * More(p): [[IT/AD/SvcUtil/]] ###### SWOT An acronym for *Strength, Weaknesses, Opportunities, Threats* See: [[IT/About#ACiD/]]. Less related, but see also: [[IT/#RACI/]] * More: [[IT/AD/SWOT/]] ###### SysInternals/BgInfo Product: * More(p): [[IT/AD/SysInternals/BgInfo/]] ###### T4 Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/T4/]] ###### TDD Acronym for: *"Technical Design Docs"* Developed during the [[IT/AD/Design//]] phase, the Technical Design Docs (TDD) document how both the business concerns defined within the [[IT/#FRD/]], and the [[IT/#Technical Qualities/]] defined within the [[IT/#NFRD/]] are met. Sometimes also referred to as the [[IT/#DDD/]] * See: [[IT/#FRD/]], [[IT/#NFRD/]], [[IT/#Technical Qualities/]] ###### TeamCity Product: * More(p): [[IT/AD/TeamCity/]] ###### Technical Qualities TODO: (Resilience, Supportability, etc...) ###### Terminal Services The old name for [[IT/#Remote Desktop Services/]] ###### Terminals Product: * More(p): [[IT/AD/Terminals/]] ###### TF Product: A commandline tool to manage [[IT/AD/TFS/]]. * More(p): [[IT/AD/TF/]] ###### TFS Product by [[IT/#Microsoft/]]. An antiquated version control service. * See: [[IT/AD/Mercurial/]], [[IT/AD/GiT/]] * More(p): [[IT/AD/TFS/]] ###### That's Nice A euphamism coined in Mrs Brown's Boys for what you really want to say in response to architectural and technical input by * Managers "that used to do development" * BA's that have written specs that lead to [[IT/#DDD|Document Designed Development]] * Intermediate developers who are adamant they already know everything there is to know (*they read http://news.ycombinator.com, you know?!*) * More: [[IT/AD/That's Nice/]] ###### Thin Describes code classes that are kept sparse of business or technical logic, delegating as much logic operations to secondary services. ###### Threat The source of worry (ie: foreign organisations, pirates, idiots). They're looking for [[IT/#Vulnerabilities/]]. Can be: * Human: * Foreign Organisation * Disgruntled employee * Twits * Non-Human: * [[IT/#Virus/]] * [[IT/#Worm/]] * [[IT/#Trojan/]] Doesn't mean that the threat has found found a vulnerability. [[IT/#Threat/]] (the [[IT/#Risk/]] is where the two *can* overlap). * See: [[IT/#Threat Assessment/]] ##### Threat Assessment * More: [[IT/AD/Threat Assessment/]] ###### Tier A tier, as opposed to a Layer, is a physically separate machine. * More: [[IT/AD/Patterns/Tier Strategy/]] ###### TLA Acronym for *"Three Letter Acronym"* * See: G.B (who came up with *"Document Driven Designed"* for (DDD)) ###### TLS Acronym for *"Transport Layer Security"*. TLS 1.1 and 1.2 are secure, and supercedes [[IT/#SSL/]] 3.0, which *may* be unsecure. See: [[IT/#SSL/]] More: http://en.wikipedia.org/wiki/Transport_Layer_Security ###### Trello Product: A free KanBan board. * See: [[IT/AD/AgileZen/]]. * More(p): [[IT/AD/Trello/]] ###### TSE Acronym for *"Technology Security Architecture"* Architecture of domains and security services for the target environment. Defines architectural coverage and guidance for cross domain security service layers. ###### TFA Acronym for *"Two Factor Authentication"* * More: [[http///en.wikipedia.org/wiki/Two-factor_authentication|Two Factor Authentication]] (also known as 2FA) ###### UAT Acronym for *"User Acceptance Test"* Environment. After having passed testing within the [[IT/#ST/]] and [[IT/#QAT/]] environments, and tested by both the developers and stake holder's testers, the product is delivered to the stakeholders to accept or produce [[IT/#Change Order/]]s. Once passed this stage, it is released to [[IT/#PROD/]]. * See: [[IT/#Environment/]], [[IT/#ST/]], [[IT/#QAT/]], [[IT/#UAT/]], [[IT/#PROD/]] ###### UI Acronym for *"User Interface"* A concept of using rendering [[IT/#Views/]] containing just Inputs and Ouputs. It's an outdated concept due to several limitations improved on by the concept of [[IT/#UX/]]. ###### Unity Product by [[IT/#Microsoft/]]. An IoC solution. * See: [[IT/AD/Ninject/]] * More(p): [[IT/AD/Unity/]] ###### URD Acronym for *"User Requirement Document"* Part of the document flow describe here: [[IT/AD/Documentation//]] * See: [[IT/#BRD/]], [[IT/#FRD/]], [[IT/#SRS/]] * More: [[IT/AD/Documentation//]], [[IT/AD/Documentation/URD/]] ###### URI Acronym for *"Uniform Resource Identifier"* URIs can be * [[IT/#URL/]]s, * [[IT/#URN/]]s * Both. ###### URL Acronym for *"Uniform Resource Locator"* A specialisation of [[IT/#URI/]]. ###### URN Acronym for *Unform Resource Name* A specialisation of [[IT/#URI/]]. ###### Users ###### User The actual end user of the product. Note that (as described under [[IT/#Customer/]]) the User is not the same thing as the Client. Hence often inadvertently shafted by Client and Vendor Project Managers ensuring [[IT/#Client/]] are satisfied first and foremost. * Remember: *"The Client is always right."* The User is not. ###### User Agent ###### UserAgent The application used to access the service. In a web server scenario, the web page service is being accesed by the user's Web Browser. In a [[IT/#SAML/]] scenario, the Browser that the [[IT/#Subject/]] is entering Urls into, in order to navigate to a resource on the [[IT/#SP/]] * See: [[IT/#SAML/]] ###### UX Acronym for *"User eXperience"* It's about understanding that [[IT/#UI/]] is more than just Inputs (fields/buttons) and Outputs (details pages, tables, reports,etc.) but about combinations of Inputs/Outputs with Behaviour that helps streamline understanding of what is required (popdown areas containging additional fields appearing only based on previous choices), what needs attention (eg: showing only fields that are are not validated correctly), focus (blurring or b/w all fields other than the current concern being addressed), touch enabling lists (infinit list scrolling), etc. Being superceded (maybe) by [[IT/#NUI/]] * See: [[IT/#Design/]], [[IT/#CUTE/]], [[IT/#UI/]], [[IT/#NUI/]] ###### ValueInjecter Product: A mapping solution that might be less time consuming to use that [[IT/AD/AutoMapper/]] * More(p): [[IT/AD/ValueInjecter/]] ###### Value Object an object defined by its attributes, but no conceptual Identity. Considered as immutable. Often synonymous with an db record that has no ID, but has a parent FK, such as a Audit/History record attached to a Person or Address. ###### VCS An Acronym for *"Version Control System"*. A server that performs [[IT/#SCM/]] (Source Code Management). Examples of that are [[IT/#TFS/]] and more current [[IT/#DVCS/]] solutions such as [[IT/#Git/]] and [[IT/#Mercurial/]] ###### Verbosity A side effect of the ease electronic publishing. >Why have the Interface Guidelines grown so long? Maybe part of it is just the freedom of electronic publishing. There is no page budget, so there is no premium on brevity. * More: http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2011/12/4_The_User_Interface_Guidelines.html ###### View A UI element to represent a View Model. >Note: once again, "View Model" is a distinct term from "ViewModel" * [[IT/AD/Patterns/Views are not Screens Strategy/]] * See: [[IT/#UI/]], * More: [[IT/AD/ASP.MVC/]] ###### View Model A server side projection of one or more Business Domain Models into a single server side [[IT/#IOModel/]] that can be used to populate a [[IT/#View/]], and represent user interactions with the [[IT/#View/]]. An example would be the projection of both a Person and one or more Address entities into as a single server side PersonAddressViewModel, that is then merged with a PersonAddressView on the server before being rendered to the client. Until ready to save, the [[IT/#Controller/]] maps user inputs to the PersonAddressView, at which point the Controller maps the properties of the PersonAddressView back to separate Person and Address entities in order to persist them independently of each other. >Note: once again, "View Model" is a distinct term from "ViewModel" * See: [[IT/#Controller/]], [[IT/#View/]], [[IT/#ASP.MVC/]] ###### ViewModel a clientside version of a View Model, that is DataBound to the View in the browser. * See: [[IT/#View/]], [[IT/#IOModel/]] * More: [[IT/AD/Knockout.JS/]], [[IT/AD/Silverlight/]], [[IT/AD/WCF/]]. ###### Visual Studio Product by [[IT/#Microsoft/]]. The best IDE in the world. * More(p): [[IT/AD/Visual Studio/]] ###### VST4G ###### Visual Studio Tools for Git An extension for [[IT/#Visual Studio/]] that adds [[IT/#Git/]]. * More: [[IT/AD/VST4G/]] * More: http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c ###### VMWare Product: * More(p): [[IT/AD/VMWare/]] ###### VNC Acronym for *"Video Network Computing"* A *graphical* desktop sharing system that uses the Remote Frame Buffer protocol (RFB). When you are within a network where the admin has locked you from calling out/home using RDP, you can try setting this up...if you're lucky, they've forgotten this. * See: [[IT/#RDP/]], [[IT/#MSTSC/]] * More: [[IT/#VNC/]], http://en.wikipedia.org/wiki/Virtual_Network_Computing ###### UI Acronym for *"User Interface"* An assembly of views [[IT/#View/]]s. Note that [[IT/#View/]]s are not necessarily equivalent to WebPages (this misconception arises only due to the common use of certain Html Frameworks, such as ASP.NET). * See: [[IT/#View/]], [[IT/#View Model/]], [[IT/#Design/]], [[IT/#UX/]] ###### Vulnerability The weakness of the system. Doesn't mean it's been yet exploited by a [[IT/#Threat/]] (the [[IT/#Risk/]] is where the two *can* overlap). * See: [[IT/#Threat Assessment/]] ###### WADL Acronym for *"Web Application Definition Language"* [[IT/#REST/]] equivalent to [[IT/#WSDL/]]. * See: [[IT/#WSDL/]] ###### Waterfall An [[IT/#ALM/]] sofware delivery methodology, made up of the following stages: Conception, Initiatiation, Analysis, Design, Development, Construction, Testing, Deployment. Streamlineable as [[IT/#6D/]]. * See: [[IT/#6D/]], [[IT/#Agile/]], [[IT/#ALM/]] * More: [[IT/AD/Waterfall Methodology/]] ###### WebService a method of communicating between two electronic devices (a Service Requestor/ Client and a Service Provider/Service) over the World Wide Web, using a machine-processable format, typically SOAP Messages conveyed as [[IT/#XML/]] over HTTP. * See: [[IT/#SOAP/]], [[IT/#XML/]] * More: [[IT/AD/WCF/]]. ###### WebAPI A Microsoft framework for implementing and deploying a REST-ful WebService allowing clients to request stateless resources from a service, without using SOAP. * See: [[IT/#AJAX/]], [[IT/#REST/]], [[IT/#SOAP/]], [[IT/#WebService/]] * More: [[IT/AD/WCF/]] ###### WellKnown Any thing informally agreed upon. A convention. ###### WCF Acronym for *"Windows Communication Foundation"* A framework for implementing and deploying Service Oriented Architectures. It replaces the following earlier Microsoft communication technologies: ASMX, WSE, MSMQ, .NET Remoting, COM+. Regarding ASMX specifically, whereas ASMX can only transmit unsecured SOAP over HTTP/HTTPS, WCF can transmit SOAP over HTTP, TCP/IP, MSMQ, NamedPipes, as well as implement WS-\* non-tamperperability, and encryption security protocols. Servers provide a WSDL interface that any client can consume, in order to allow Clients to invoke arbitrary Server Operations (as opposed to REST-ful http verb constrained operations), that return Messages containing the Scalar Properties or Objects serialized within SOAP envelopes, generally serialized as [[IT/#XML/]]. Note that Microsoft’s WCF stack was updated a couple of years ago to allow Web Clients using AJAX to invoke WCF Endpoints and be returned JSON instead of [[IT/#XML/]]. * See: [[IT/#AJAX/]], [[IT/#JSON/]], [[IT/#WebService/]], [[IT/#XML/]]. * More: [[IT/AD/WCF/]] ###### WCF Data Services Product: * More(p): [[IT/AD/WCF Data Services/]] ###### WCF/Comparisons Product: A comparison of WCF, WCF Data Services, WebAPI. * More(p): [[IT/AD/WCF/Comparisons/]] ###### WCSFBlue Product: an [[IT/#OSS/]] improvement of SVCUTIL * More(p): [[IT/AD/WCSFBlue/]] ###### WCFStorm Product: Similar to SoapUI * More(p): [[IT/AD/WCFStorm/]] ###### Web Config Transforms ###### WCT WCT's are transformations processed at packaging time. They depend on the current Build configuration. * See [[IT/#XDT/]] ###### WebAPI Product: * More(p): [[IT/AD/WebAPI/]] ###### WebDeploy Product: * More(p): [[IT/AD/WebDeploy/]] ###### WebSequenceDiagrams Product: * More(p): [[IT/AD/WebSequenceDiagrams/]] ###### WIF Acronym for *"Windows Identity Foundation"* Product by [[IT/#Microsoft/]]. * See: [[IT/#SAML/]], [[IT/#SAML-P/]] * More(p): [[IT/AD/WIF/]] ###### WIMP Acronym for *"Windows, Icons, Menu, Pointer"* An acronym to describe the UI design paradym proposed by XEROX@Park in the 80's and used by everybody up till touch enabled screens became prevalent. Superceded by [[IT/#CUTE/]] * See: [[IT/#CUTE/]], [[IT/#PIG SWIL/]] ###### Windows Product by [[IT/#Microsoft/]]. * More(p): [[IT/AD/Windows/]] ###### Windows-Eyes Product. An alternative to [[IT/#JAWS/]] The latest version (Spring 2013) is version 8.2 Price: $895. Unfortunately, can't purchase online outside of the USA. * See: [[IT/#Low-Vision Screen Readers/]] * More: http://en.wikipedia.org/wiki/Window-eyes ###### Windsor/IoC Product: * More(p): [[IT/Windsor/IoC/]] ###### WiX Acronym for *"Windows Installer Xml"* Product: * More(p): [[IT/AD/WiX/]] ###### WORKS An acronym for "Who is it for? Organised, Reliability, quiK, Supportable" An acronym I made up as I could never remember [[IT/#FURPS/]]: * Functionality [Biz Caps, Security] * Usability [Human Factors, Accessibility, Consistency, Aesthetics, Documentation] * Reliablity [FailureRatio, Severity, Recoverabiltiy, Predictabilty, Accuracy] * Performance [Responsiveness, Throughput, Speed, Resource Consumption, * Supportability [Testability, Extensibility, Adaptability, Maintainability, Compatibility, Configurability, Serviceability, Installability, Localizability, Portability] * See: [[IT/#FURPS/]], [[IT/#Qualities/]] ###### WOW64 WoW64 (Windows 32-bit on Windows 64-bit) is a subsystem of the Windows operating system capable of running 32-bit applications and is included on all 64-bit versions of Windows. * More: http://en.wikipedia.org/wiki/WoW64 ###### WPF Acronym for *"Windows Presentation Foundation"* Product by [[IT/#Microsoft/]]. * More(p): [[IT/WPF/]] ###### WSDL Acronym for *"Web Services Definition Language"* A *.wsdl doc is an xml doc made up of the following sections: * Ports (:= Class) * Operation (:= Function) * Messages (:= Parameters) * Types (:= Parameter Types) * Binding (? Protocol and Message format) * See: [[IT/#WADL/]], [[IT/#WCF/]] * More: [[IT/AD/WSDL/]] * More(p): [[IT/AD/WSDL/]] ###### WS-Federation `WS-Federation` is an [[IT/#Identity Federation/]] specification, which is part of the larger `Web Services Security` framework. `WS-Federation` defines mechanisms for allowing disparate security realms/domains to broker information on: * [[IT/#Identity/]], * [[IT/#Identity/]] attributes, * [[IT/#Authentication/]] * Terminlogy: * [[IT/#Subject/]]: The user * `Requestor`: the Browser * `Relying Party ([[IT/#RP/]])`: the web app (ASP.NET) or WCF Service that will authrorise access to features or functionalty based on the Claims presented in a `Security Token (ST)`. This token must be from a trusted Token Issuer * `Security Token (ST)`: . * `Token Issuer`: * `Identity Provider ( IdP)`: Responsible for the [[IT/#Authentication/]] of the the [[IT/#Subject/]] (User). * See: [[IT/#IdP/]]. * This implies it has a `Credential Store` in its domain (eg: `AD`, or a custom `Credentials Db`). * `Security Token Service (STS)`: responsible for issuing Security Tokens (ST) for the Subject. If the STS is located at the IdP, it will likely issue a `Security Token (ST)` that carries `Identity Claims` for the [[IT/#Subject/]]. The STS may also issue Claims relevant foto authorisation at the Relaying Party. The ST Format can vary. Most times it will be in SAML, an [[IT/#XML/]] based digitally signed and (often) encrypted secure format for carrying SAML assertions/claims. * A `Trust Relationship` must exist betweetn the `Relying Party (RP)` and `Security Token Service (STS)`. An `Security Token Service (STS)` won’t issue `Security Tokens (ST)` for an `Relying Party (RP)` that it doesn’t know about. An RP won’t accept tokens from a Security Token Service (STS) that it doesn’t trust. * More: [[IT/AD/WS-Federation/]] ###### WS-Security The WS-Security standard is a set of protocols designed to help secure web service communication by using SOAP. For more information about WS-Security, see OASIS Web Services Security (WSS) TC on the OASIS website. ###### WS-Trust A standard that uses WS-Security to provide web services with methods to build and verify trust relationships. For more information about WS-Trust, see OASIS Web Services Secure Exchange (WS-SX) TC on the OASIS website. ###### XActLib XActLib is an open source library of interconnected set of assemblies that encapsulate common Enterprise [[IT/#LOB/]] code, designed with [[IT/#SOLID/]] principles in order to remain modular, maintainable, vendor agnostic – while remaining lightweight in terms of requirements and resources. * More: [[Projects/XActLib/]] ###### XCopy * More(p): [[IT/AD/XCopy/]] ###### XDT XDT's is the new term for what was previously known as [[IT/#WCT/]] They are transformations processed at packaging time. They depend on the current Build configuration. * See: [[IT/#WCT/]] * More: [[IT/AD/XDT/]] ###### XML Acronym for *"EXtensible Markup Language"* A markup language that defines a set of rules for encoding documents in a format that is both human readable and machine readable. * See: [[IT/#JSON/]] * More: [[IT/AD/WCF/]] ###### XmlSerializer * See: [[IT/#BinaryFormatter/]] * More: [[IT/AD/NET/Serialization/]] ###### XSD Formally describe elements using a schema to descrive in an abstract way an objects characteristics and relationships to other objects. * See: [[IT/#WSDL/]] * More: [[IT/AD/WCF/]] * More(p): [[IT/AD/XSD/]] ###### XSD2CODE Product: * More(p): [[IT/AD/XSD2CODE/]] ###### Yuml.Me Product: * More(p): [[IT/AD/Yuml.Me/]] ###### Visio Product: * More(p): [[IT/AD/Visio/]] ###### ZeroMQ Product: * More(p): [[IT/ZeroMQ/]] ## Resources ## * http://msdn.microsoft.com/en-us/library/ee534975.aspx