# 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

* 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.

* [[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

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