Glossary
- See also:
Summary
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 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
Summary
Acronym for “Two Factor Authentication”.
Resources
- More: Two Factor Authentication (also known as TFA)
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
- See also:
Summary
AAA (or 3A) is a well-known acronym for:
- Authenticated
- Authorised
- Accounting (it's not Accounting as you may find sometimes listed).
Sometimes referred to Diameter Protocol.
Notes
Cute. But also redundant. Authorised implies Authenticated.
Resources
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
4 Tier
AAA
Acronym for “Authentication, Authorisation, Auditing”
ADD
Accessibility
- More: 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 “Pros and Cons/”.
This is an incorrect use of “Pro et Contras”, the latin response to a call for a vote. The result is 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: Pros and Cons/, SWOT/. Less related, but see also: 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.
Aggregate
a collection of objects, referenced by a Root Entity/. An example Aggregate would be of a Person and one or more Addresses associated to that Person.
Aggregate Root Entity
the primary 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 ASCII/ sort.
ALM
Acronym for “Application Lifecycle Management”
- See: Agile/, Waterfall/
Anaemic Entity
A POCO/ Domain Entity/ that has attributes, but no behaviour. This is an anti-pattern, as all Domain Entities will have some behaviour or other (validation, etc.).
- More: IT:AD:Code First
Android
The Google operating system that is looking poised to make Microsoft/'s Windows operating system irrelevant.
Unfortunately.
- See: Microsoft/
- More: IT:AD:Android
AntiForgeryToken
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): ANTLR
Application
Not a single application delivered to a client is complete in itself. The whole Solution/ entails considerations of several more aspects than just the Application/.
- See: Solution/
Apple
Company/Products.
- More(p): 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.
ARIA
Acronym for “Accessible Rich Internet Applications”
ASCII
Acronym for “American Standard Code for Information Interchange”
ASMX
A legacy Microsoft/ technology for communicating using SOAP over HTTP simply. Replaced with WCF.
ASP.MVC
Product by Microsoft/.
A framework to facilitate the creation of applications that adhere to the MVC/ strategies.
- More(p): IT:AD:ASP.MVC
ASP.NET
Product by Microsoft/.
- More(p): IT:AD:ASP.NET
Assertion Consumer Service
The SAML/ endpoint on the SP/ to which the IdP/ HTTP 302 POST's a Form containing the SAMLResponse/ after it has successfull completed Authentication/ of the 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 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: BTD/
- More: IT:AD:SpecFlow
ATOM
Successor to RSS/, basis of OData/.
- More(p): IT:AD:ATOM
Auditing
TODO
- See: 3A/
Authentication
TODO
- See: 3A/
Authorisation
TODO
- See: 3A/
AutoCAD
Product.
- More(p): IT:AD:AutoCAD
AutoHotKey
Product:
- More(p): 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.
AutoMapper
Product:
- More(p): IT:AD:AutoMapper
AzMan
Product by Microsoft/.
- More(p): IT:AD:AzMan
BA
BackBone
A IT:AD:JScript library.
- See: HotTowel/, Knockout.JS/
- More: Backbone
BASE
Acronym for “Basically Available, Soft State, Eventually Consistent”
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 cygwin/. And Git Bash/.
Basic Authentication
TODO
- More: Basic Authentication
BEST
Acronym for delivering “Business Empowering Software Tools”
- Source: Me
BlogEngine.NET
Product:
- More(p): IT:AD:BlogEngine.NET
BinaryFormatter
- See: XmlSerializer/
- More: Serialization
BitBucket
Product:
- More(p): IT:AD:BitBucket
BitCoin
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 BA/ within the IT:AD:Define process, before the URD/
- More: IT:AD:Documentation:BRD
BTD
Acronym for “Behaviour Test Driven”
- More: IT:AD:SpecFlow
CAD
Acronym for “Composite Application Development”
- See: CUX/
Caliburn Micro
An opinionated Silverlight/ library to faciliate the creation of MVVM applications.
- See: Silverlight/
CAP
Acronym for “Consistency Availability, Partition Tolerance”
Composite UI
Composite UX
Composite User Interface
Composite User Experience
CUI
CUX
Acronym for “Composite UX”
See: 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).
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.
CI
Acronym for “Continuous Integration”
- 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 Subject/ makes about itself, or another Subject/.
A Claim
s is issued by a Provider
, packaged within Security Token/s issued by a Security Token Service
(STS/).
A Claim
is defined by having:
- (optionally) associated metadata.
- See: 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 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 (RP/) application that uses Claims/ to manage 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: CypherText/
ClustrMaps
A service for putting on a website a map of the world, with red dots marking where vistors came from.
- More: ClustrMaps
CLI
Acronym for “Command Line Interface”
As opposed to a “Graphical User Interface”
- More: IT:AD:CommandLine
Clients
Client
A Customer/ is similar to a Client/ (ie, they are purchasing a service from a Vendor/), but a Client/ is one with which the Vendor/ has an ongoing relationship. Another way of putting it, is both a Client/ and Customer/ buys an Solution/ from a Vendor/, but a Vendor/ may provide ongoing Support/ or other services to a Customer/.
In an non Consumer transaction (ie enterprise transaction) a Client/ / Customer/ is often not the same entity as a User/ and therefore has to manage decisions and purchase based on reports as to the business value BRD/, and the quality of the product developed by vendors is based on UAT/ reports. The disparity between the two creates complexities: Vendor/ PM/s are right to ensure the Customer//Client/ is satisfied – but too often at the expense of the end users.
In a Consumer transaction, the Customer//Client/ and the User are most often the same entity, hence the User/ is able to articulate with his purchasing power – as Customer//Client/ – his opinion as to the value of the Solution/.
Client Side MVC Framework
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.
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: ATD/, BTD/, Gherkin/,
* More: Specflow/
CodeFirst
Product by Microsoft/.
- More(p): IT:AD:CodeFirst
Command Line
CommandLine
- See: CLI/, Environment Variable/
- More: IT:AD:CommandLine
Complex Type
Confidentiality
A Security/, often referred to as Privacy.
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.
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.
- 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 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: Cookie
COTS
Acronym for “Commercial Off the Shelf”
- See: 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: CQRS
CQS
Acronym for “Command Query Separation” Principle of separating Data retrieval from Data Modification by using Query and Command objects.
- See: CQRS/
Craptography
A good term for something that gives the illusion of Privacy/ while being functionally useless in protecting anything.
CruiseControl.NET
Cryptography
A means of providing Privacy/ why communicating between service endpoints.
CrystalReports
Culture
CultureCode
The cultural similarities betwee distint regions
The en
part of an en-GB
Culture/-Region/ code.
- See: Region/, Localisation/
cURL
Product:
- More(p): IT:AD:cURL
Customers
Customer
A Customer/ is similar to a Client/ (ie, they are purchasing a service from a Vendor/), but a Client/ is one with which the Vendor/ has an ongoing relationship. Another way of putting it, is both a Client/ and Customer/ buys an Solution/ from a Vendor/, but a Vendor/ may provide ongoing Support/ or other services to a Customer/.
In an non Consumer transaction (ie enterprise transaction) a Client/ / Customer/ is often not the same entity as a User/ and therefore has to manage decisions and purchase based on reports as to the business value BRD/, and the quality of the product developed by vendors is based on UAT/ reports. The disparity between the two creates complexities: Vendor/ PM/s are right to ensure the Customer//Client/ is satisfied – but too often at the expense of the end users.
In a Consumer transaction, the Customer//Client/ and the User are most often the same entity, hence the User/ is able to articulate with his purchasing power – as Customer//Client/ – his opinion as to the value of the Solution/.
CUTE
Acronym for “Contextual, Uncluttered, Touch-enabled, Economic”
An acronym for current UI design. Supercedes WIMP/, and PIG SWIL/
CygWin
Linux-like environment for Windows making it possible to port software running on POSIX/ systems (such as Linux, BSD, and Unix systems) to Window
- See: Bash/, 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: ClearText/
DataBinding
the process of declaratively in the View which properties of the ViewModel it is to bind to.
DDD
Acronym for “Domain Driven Design”
- More: IT:AD:Patterns:DDD
DDD
Acronym for “Document Driven Design” – a wry description for software designed by BA's who have no technical qualification to be designing DB schemas, UX/, Auditing techincal specifications, etc.
DDD
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 CI/ environment, which deploys it to the ST/ environment for System Testers to test the product designed during the IT:AD:Develop stage. Bugs found, are reported within IT:AD:TFS or IT:AD:JIRA for the developer to fix, and recheckin the compilable code.
DI
Acronym for “Dependency Injection”
Dokuwiki
Product:
- More(p): IT:AD:DokuWiki
DNS
TODO
- More: IT:AD:DNS
Domain Entities
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.
DTO
Acronym for “Data Transfer Object”
An /Anemic Entity/ used as a message to transfer object state across tiers.
DumpBin
Product:
- More(p): DumpBin
Durandal
Product by Rob Eisenberg/ – the same person who wrote IT/#Caliburn Micro/.
It's a Client Side MVC Framework/.
- See: Caliburn Micro/
- More: IT:AD:Durandal.JS
DVCS
Acronym for “Distributed Version Control Service”
The most well known representations of DVCS are Git/ and Mercurial/.
- See: Git/, Mercurial/
Eclipse
Product:
- More(p): IT:AD:Eclipse
EditPad Pro
Product:
Similar to 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 Microsoft/.
Entity Framework
- See: CodeFirst/
- More(p): IT:AD:EF
Entities
Entity
An object that is not defined by its Attributes
(see ValueObject/) but its unique Identity
and thread of continuity.
An instance of Person with an ID of 13 is an entity.
Environment
Environments
Environment Variable
Environment Variables
Every time you start a new CommandLine/ shell, windows copies all the Machine and User Environment variables into the shell. Including the PATH/.
- See SetX/
- More: 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 Microsoft/.
- More(p): IT:AD:Enterprise Library
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: That's Nice/
Excel
- See: MSOffice/
- More: IT:AD:Excel
Exchange
Product by Microsoft/.
- More(p): IT:AD:Exchange
Fiddler
Product:
- More(p): IT:AD:Fiddler
Firewall
TODO
- More: IT:AD:Firewall
ForgeRock
Developers of OpenAM/ ever since Oracle/ killed IT:AD:OpenSSO after purchasing Sun/.
GBO
Acronym for “Glimpse of the Blindingly Obvious”
More: 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 (DVCS/ similar to IT:AD:Mercurial.
Supersedes the centralized architecture of IT:AD:TFS
- More(p): IT:AD:Git
GitBash
Git Bash
A mashup of IT:AD:Git and Bash/.
A command line shell to enter commands.
It comes with Git Extensions.
Git Extensions
Git, for Windows.
- More: Git Extensions
GitHub
The most well publicized Git Repository service.
- See 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: ATD/, BTD/, 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: Localisation/
- More: IT:AD:Globalisation
GLV
Acronym for Get Latest Version
GraphViz
Product:
- More(p): IT:AD:GraphViz
GUI
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
FRD
Acronym for “Functional Required Document”
Part of the document flow describe here: IT:AD:Documentation
Front Controller
- See: Controller/.
- More: IT:AD:ASP.MVC
Functional Specs
Functional Specifications
Functional Requirements
See: 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: WORKS/
- See: WORKS/, Qualities/
HD
Hard Drive
- More [IT:Hard Drive]]
Happy Path
IT:AD:Happy Path
Summary
Happy path testing is a well-defined test case using known input, which executes without exception and produces an expected output.
There is generally only one, with exceptions, etc. being various potential branches.
Note that Happy Paths generally don't mirror real world conditions.
Resources
Hash
High Cohesion
The principle that methods of an OOP object should all perform operations within the same Problem Boundary.
HotTowel
A library to facilitate the creation of anSPA/ app.
- 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
HTTPS
Acronym for “Hypertext Transfer Protocol Secure”
Same as HTTP/, except that communication uses TLS/ to encrypt the communication.
HTTP_USER_AGENT
The HTTP Header that is sent by the User Agent/ (ie browser) to the Server, telling it what it can do.
- More: HTTP_USER_AGENT
IAM
Acronym for “Identity Access Management”
- More: IAM
ICAM
Acronym for “Identity, Credential, and Access Management”
- See: SAML/
Identity
TODO
Identity Foundation
Part of the larger Web Service Security/ framework.
- See: WS-Federation/
IdP
Acronym for “Identity Provider”
Responsible for the Authentication/ of the the Subject/ (User). Generally used in the context of discussing a 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 UserAgent/ requests a Resource, the server's security handlers checks the message Headers for a Security Token, which it uses to build an IIdentity that it then attaches wraps with an 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: IPrincipal/
- More: Identity
IIS
IIS Express
Product by Microsoft/.
- More(p): IT:AD:IIS Express
InDesign
Product: by Adobe
- More(p): InDesign
Infrastructure Tests
the derisive term for unit tests that cannot be run in isolation from underlying infrastructure.
Integrity
A Security/ Attribute.
Internet Explorer
Product by 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
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 View/. (A View Model/ is a specialization/subset of the of the superset IOModel concept).
An IOModel can be used to back View/s, APIs, etc.
The postback is a Reponse Model/
IPrincipal
- See: IIdentity/
- More: 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 Windows-Eyes/
Jenkins
Product: a free, OSS/ CI/ environment. Similar to TeamCity/
- More(p): IT:AD:Jenkins
JFGI
Acronym for “Just Fucking Google it.” First before bugging me…
- More: 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 SQL/ Operation.
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 XML/ due to being less verbose than XML/, as well as more easily manipulated with JavaScript than XML/.
- See: 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
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
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 Tier/.
lazy loading
In 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: LDAP
Lifescribe
Product:
- More(p): IT:AD:LifeScribe
LinqPad
The most productive way to learn Linq. Buy it. Now.
- More: IT:AD:LinqPad, 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: LINQ
LOA
Acronym for “Level of Assurance”
See: SAML/
LOB
Acronym for “Line Of Business”
A term for standard enterprise applications. Not games.
Line of Business application.
Localization
Localisation
Note: we'll be using the Culture/ (English) based spelling for documents related to localisation/localization, rather than the Region/-based American spelling…
- More: IT:AD:Localisation
LocalService
A predefined local account used by the service control manager.
It preferable to use LocalService or NetworkService/ than the much more powerful LocalSystem/
- More: IT:AD:Service Accounts
LocalSystem
A predefined local account used by the service control manager.
It preferable to use LocalService/ or NetworkService/ than the much more powerful LocalSystem service account.
Log4Net
Product:
A logging solution more polyvalent and lighter than the one provided by IT:AD:Enterprise Library
- See: IT:AD:NLog (a newer alternative) and EntLib
- More(p): IT:AD:Log4Net
Loosely Coupled
One of the two basic foundation concepts towards maintainable software. The other is High Cohesion/.
The opposite is creating Monolithic/ brittle software.
LoremIpsum
Product:
- More(p): IT:AD:LoremImsum Generators
Low-Vision Screen Readers
Screen readers that use ARIA/ attributes in the page, as well as guessing, to reduce the amount of chaff read out aloud to end users.
Classic examples: * JAWS/ * Windows-Eyes/
Other versions:
- Online free version to get a quick feeling: http://webanywhere.cs.washington.edu/beta/
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.
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 Projection/ – which is a more complex operation.
Markdown
MAXCAP
An acronym for:
- Model,
- Automate,
- Xecute,
- Control,
- Audit,
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/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 Anemic Entity/.
- See: OOP/, 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: MMC
MOA
Acronym for “Message Oriented Architecture”
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: Services/
MODE
An acronym for “Mandatory, Optional, Desirable, possible future Enhancement”
I've seen the above terms used instead of MOSCOW/.
I prefer MOSCOW/ as there is a clear WON'T statement, and the terms are sequential in scope.
- See: MOSCOW/, Requirements/
Monolithic
The opposite of Loosely Coupled/ software, guaranteed to be brittle and therefore costly to maintain and upgrade.
Avoid at all cost.
MOSCOW
An acronym for “MUST, SHOULD, COULD, WON'T”
A methodology for categorizing Requirements/.
- See: MODE/, Requirements/
MSBuild
Product by Microsoft/.
- More(p): IT:AD:MSBuild
MSInstaller
Product by Microsoft/.
- More(p): IT:AD:MSInstaller
MSDeploy
Product by Microsoft/.
- More(p): IT:AD:MSDeploy
MSMQ
Product by Microsoft/.
- More(p): MSMQ
MSOffice
Product by Microsoft/.
MSProject
Product by Microsoft/.
- More(p): IT:AD:MSProject
MSTSC
- More: 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 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.
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: MVC/,
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.
Navigation Property
A property of an 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: EF/
NDNC
Acronym for “Non Disclosure, Non Circumvention” or “Non Disclosure, Non Compete”.
A confidentiality agreement.
NDepend
Product:
- More(p): IT:AD:NDepend
NET
NETSqlAzMan
Network
TODO
- More: NETwork
NetworkService
A predefined local account used by the service control manager.
It preferable to use LocalService/ or NetworkService than the much more powerful LocalSystem/
- More: IT:AD:Service Accounts
NHibernate
Product:
- More(p): Resources
Ninject
NLog
Product. A newer alternative to the aging Log4Net/
- See: IT:AD:Log4Net, 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 Technical Qualities/ (as opposed to the TDD/) that must be met by the technology proposed to add value to a business.
See Requirements for a description of the difference between Functional Requirements/ and Non-Functional Requirements/
Notepad++
NTFS
TODO
- More: IT:AD:NTFS
N Tier
NTLM
TODO
- More: IT:AD:NTLM
NVelocity
Product:
- More(p): IT:AD:NVelocity
Nuget
Product: NuGet is a Visual Studio/ extension that makes it easy to install and update third-party libraries and tools in Visual Studio/.
- More(p): IT:AD:Nuget
NUI
Acronym for “Natural User Interface”
It's about progressing beyond (CUTE/) Touch enabled UX/, towards Voice, Eye tracking, etc. as per Google Glass, etc.
- See: UX/
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: 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 ForgeRock/ under the name of OpenAM/
An SAML/ solution.
- See: 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 RFP/s.
Outlook
Product by Microsoft/.
- More(p): IT:AD:Outlook
Outside-In Testing
* See: 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: AntiPattern/
PATH
One of the Machine Environment Variable/s.
Every time you start a new 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: 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 Risk/ that a Threat/ can Exploit/ any Vulnerability/.
PerformanceCounters
Performance Counters
Phantom.JS
A Scriptable WebKit for testing UX.
- See: Slimer.JS/
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 CUTE/, which uses the client side browser to fuller advantage.
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.
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.
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.
Problem Contour
- See: Problem Boundary/
PROD
The environment in which the product developed during the IT:AD:Develop phase is IT:AD:Deliveryed.
Projection
Whereas 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 UserAddressView Model/).
- See: 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 Lossy/, in that it only shows for/against, discarding information that cannot be easily determined as to its value.
Prefer to use ACiD/ as categorisation mechanism.
Proxy
- More: Proxy
Proxy Object
In EF/, an object that derives from a POCO/ and is generated by the EF/ to support change tracking and lazy loading.
TODO: In .NET…
* More: 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 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 UAT/ environment for the stake holders to have a play with it.
Qualities
Quality Requirements
Another name for Non Functional Requirements/
Quickgraph
Product:
- More(p): IT:AD:NET:Libraries:QuickGraph
RabbitMQ
Product:
- More(p): IT:AD:RabbitMQ
RACI
An acronym for “Responsible, Accountable, Consulted, Informed”
Used for 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
RACS
Acronym that stands for “Request Assertion Consumer Service”.
It's the HttpHandler that an IdP/ POST REDIRECT's to with the Response, which is then parsed by the RACS into an Claims IIdentity.
See: SAML] More: [[IT/AD/SAML/HowTo/Understand/Profiles/Web Browser SSO Profile
RDL
Acronym for “Report Definition Language”
The XML used to define a SSRS/ report.
RDP
Acronym for “Remote Desktop Protocol”
A proprietary Microsoft/ protocol for allowing a client to remotely login to a computer across the net. The service by default exposed on 3389.
- See: * More/ [[IT/AD/RDP/
Region
RegionCode
A distinct country or region within a specific Culture/.
The GB
part of a en-GB
Culture/-Region/ code.
- See: Culture/, Localisation/
Remote Desktop Services
The current name for the service that provides RDP/
Used to be called 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: 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 User Agent/ to a Controller/.
Although common in MVC/ applications, to use the 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: View Model/,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: SOAP/
- More: IT:AD:REST, IT:AD:WCF.
RIA
Acronym for “Rich Internet Application”
- More: IT:AD:Silverlight
Risk
Risk is where Threat/s and Vulnerability/ overlap. That is, we get a risk when our systems have a vulnerability that a given threat can attack.
- See: Threat Assessment/
RP
Acronym for “Relying Party”
A WS-Federation/ concept.
is the Application the Subject/ (ie end user) is trying to get access to.
It relies on and uses Claim/s in Security Tokens
(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: WS-Federation/
RST
Acronym for “Request for a Security Token”
A WS-Federation/ concept.
The Requestor/ (ie, the Subject/'s Browser within a Passive Requestor Profile scenario, passes a Request for Security Token
(RST/) to the Security Token Service
(STS/).
- See: WS-Federation/
RSTR
RWA
Acronym for “Rich Web Application”
A better name than 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 ADD/
- See: ADD
SAML
Acronym for “Security Assertion Markup Language”
It is a protocol, not just an xml format/language.
Microsoft/ appears to be been pushing for a distinction between the two, using SAML to describe the language/format, and use 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/]].
* SAML-P/, SAML Assertion/, WS-Federation/ * More: IT:AD:SAML
SAML-P
Acronym for “Security Access Markup Language Protocol”.
A Protocol for security, distinct from WS-Federation/ which Microsoft/ was/is pushing with WIF/
- See: SAML/, 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: SAML/
Samsung
- More: [IT:Samsung]]
Sandcastle
Product: an 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 DVCS/ does.
Security
Covers:
- Confidentiality/: privacy – non snuperability
- Integrity/: non tamperability
- See 3A/
Security Token
An on-the-wire representation of Claims/.
In the case of 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: WS-Federation/
SemVer
Semantic Versioning
A versioning convention:
- Major: Breaking changes.
- Minor: New features, but backwards compatible.
- Patch: Backwards compatible bug fixes only.
Self-Tracking Entity
An EF/ entity built from a Text Template Transformation Toolkit (T4) that has the ability to record changes to scalar, complex, and navigation properties.
- See: POCO/
SETX
A CommandLine/ tool to set variables in the current CLI/.
- About: CLI/
- More: IT:AD:SetX
Sencha Touch
Product:
- See: 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.
- More: Serialization
Service Account
Service Accounts
Services
Stateless helper classes containing operations when the operations are not suitable to be defined as OOP behaviours of the 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).
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
SharePoint
Product by Microsoft/.
- More(p): IT:AD:SharePoint
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.
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: Phantom.JS/
SLO
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: WCF/, 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 AppHost/ settings, but instead of encoding this logic within itself, will use methods available in ITracingService, ICachingService, and IAppHostSettingsService.
- More: IT:AD:Patterns:SOC, 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: * Separation of Concerns (SOC): objects have only one single responsibility.
- See: High Cohesion/ to its logical conclusion.
* Open/Close Principle (OCP) software entities should be open for extension, closed for modification. * 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”, Low Coupling/.
* Interface Segregation Principle (ISP): many client specific interfaces are better than one general purpose interface. * Dependency Inversion Principle (DIP): One should Depend upon Abstractions, rather than Concretions.
Solution
No single Application/ delivered to a client is complete in itself.
The whole 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 SAML/ term for the actual application/website the Subject/ is using his/her 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.
SPANK IT
An acronym for “Software Poorly Analysed Nearly Kills IT”.
Source: Me. After a bad day looking at Functional Specs/ that incorrectly includes technical concerns and/or incorrectly determines and defines the Problem Contour/.
- See: That's Nice/
Specflow
The name of a .NET implementation automated ATD/BTD framework to test features using Gherkin based scenario scripts.
- More: IT:AD:SpecFlow.
SQL
SQLAzman
Product by Microsoft/.
Legacy Role based authorisation system. Superceded by NETSqlAzman.
- More(p): SQLAzman
SQL Server Reporting Services
Product by Microsoft/.
- More(p): SQL Server Reporting Services
SQL Server
Product by Microsoft/.
- More(p): IT:AD:SQL Server
SQL Compare
Product:
- More(p): SQL Compare
SQL Data Compare
Product:
- More(p): 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
SRD
Acronym for “Systems Requirements Document”
Part of the document flow describe here: IT:AD:Documentation.
The SRD is the same thing as the SRS/
SSH
Acronym for “Secure SHell”
- More(p): IT:AD:SSH
SSL
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.
- More: IT:AD:SSO
SSRS
ST
Acronym for “System Test” Environment.
The System Test
Environment is the server on which the CI/ server deploys the product developed during the IT:AD:Develop 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.
Security Token
ST
Acronym for “Security Token”
An on-the-wire representation of n Claim/s that is cryptographically signed by the claims issuer.
The signage provides strong proof to any Relying Party/: * the identity of the issuer. * the integrity of the Claim/s within
- See: 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
STS
Subject
A SAML/ Term.
The end user/actor. He's entering URL/'s into the UserAgent/.
- See: SAML/, WS-Federation/
SugarSync
Product:
- More(p): IT:AD:SugarSync
Support
- Support is broken down into several levels:
Support Technician
Provide support to 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 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: ACiD/. Less related, but see also: RACI/ * More: IT:AD:SWOT
SysInternals/BgInfo
Product:
- More(p): IT:AD:SysInternals:BgInfo
T4
Product by Microsoft/.
- More(p): IT:AD:Transformations: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 FRD/, and the Technical Qualities/ defined within the NFRD/ are met.
Sometimes also referred to as the DDD/
TeamCity
Product:
- More(p): IT:AD:ALM:CI:Team City
Technical Qualities
TODO: (Resilience, Supportability, etc…)
Terminal Services
The old name for Remote Desktop Services/
Terminals
Product:
- More(p): IT:AD:Terminals
TF
TFS
Product by 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 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 Vulnerabilities/.
Can be: * Human:
- Foreign Organisation
- Disgruntled employee
- Twits
* Non-Human:
Doesn't mean that the threat has found found a vulnerability. Threat/ (the Risk/ is where the two can overlap).
- See: Threat Assessment/
Threat Assessment
* More: IT:AD:Threat Assessment
Tier
A tier, as opposed to a Layer, is a physically separate machine.
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 SSL/ 3.0, which may be unsecure.
See: SSL/
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: Two Factor Authentication (also known as 2FA)
UAT
Acronym for “User Acceptance Test” Environment.
After having passed testing within the ST/ and QAT/ environments, and tested by both the developers and stake holder's testers, the product is delivered to the stakeholders to accept or produce Change Order/s.
Once passed this stage, it is released to PROD/.
UI
Acronym for “User Interface”
A concept of using rendering Views/ containing just Inputs and Ouputs.
It's an outdated concept due to several limitations improved on by the concept of UX/.
Unity
URD
Acronym for “User Requirement Document”
Part of the document flow describe here: IT:AD:Documentation
URI
URL
Acronym for “Uniform Resource Locator”
A specialisation of URI/.
URN
Acronym for Unform Resource Name
A specialisation of URI/.
Users
User
The actual end user of the product. Note that (as described under Customer/) the User is not the same thing as the Client. Hence often inadvertently shafted by Client and Vendor Project Managers ensuring 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 SAML/ scenario, the Browser that the Subject/ is entering Urls into, in order to navigate to a resource on the SP/
- See: SAML/
UX
Acronym for “User eXperience”
It's about understanding that 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 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 SCM/ (Source Code Management).
Examples of that are TFS/ and more current DVCS/ solutions such as Git/ and 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.
#
##### View
A UI element to represent a View Model.
Note: once again, "View Model" is a distinct term from "ViewModel"
See: UI/, More: IT:AD:ASP.MVC
#
##### View Model
A server side projection of one or more Business Domain Models into a single server side IOModel/ that can be used to populate a View/, and represent user interactions with the 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 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: Controller/, View/, ASP.MVC/
ViewModel
a clientside version of a View Model, that is DataBound to the View in the browser.
Visual Studio
VST4G
Visual Studio Tools for Git
An extension for Visual Studio/ that adds Git/.
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.
UI
Acronym for “User Interface”
An assembly of views View/s.
Note that 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).
Vulnerability
The weakness of the system. Doesn't mean it's been yet exploited by a Threat/ (the Risk/ is where the two can overlap). * See: Threat Assessment/
WADL
Waterfall
An ALM/ sofware delivery methodology, made up of the following stages: Conception, Initiatiation, Analysis, Design, Development, Construction, Testing, Deployment. Streamlineable as 6D/.
- More: 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 XML/ over HTTP.
- 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.
- 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 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 XML/.
- More: IT:AD:WCF
WCF Data Services
Product:
- More(p): WCF Data Services
WCF/Comparisons
WCSFBlue
Product: an OSS/ improvement of SVCUTIL
- More(p): IT:AD:WCSFBlue
WCFStorm
Web Config Transforms
WCT
WCT's are transformations processed at packaging time. They depend on the current Build configuration.
- See XDT/
WebAPI
Product:
- More(p): IT:AD:WebAPI
WebDeploy
Product:
- More(p): IT:AD:WebDeploy
WebSequenceDiagrams
Product:
- More(p): IT:AD:WebSequenceDiagrams
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 CUTE/
Windows
Product by Microsoft/.
- More(p): IT:AD:Windows
Windows-Eyes
Product. An alternative to JAWS/
The latest version (Spring 2013) is version 8.2 Price: $895.
Unfortunately, can't purchase online outside of the USA.
Windsor/IoC
Product:
- More(p): IoC
WiX
WORKS
An acronym for “Who is it for? Organised, Reliability, quiK, Supportable”
An acronym I made up as I could never remember 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: FURPS/, 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.
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)
- More: IT:AD:WSDL
- More(p): IT:AD:WSDL
WS-Federation
WS-Federation
is an 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:
- Identity/ attributes,
- Terminlogy:
- Subject/: The user
Requestor
: the BrowserRelying 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 aSecurity Token (ST)
. This token must be from a trusted Token IssuerSecurity Token (ST)
: .Token Issuer
:-
- See: IdP/.
- This implies it has a
Credential Store
in its domain (eg:AD
, or a customCredentials 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 aSecurity Token (ST)
that carriesIdentity Claims
for the 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 XML/ based digitally signed and (often) encrypted secure format for carrying SAML assertions/claims.
* A
Trust Relationship
must exist betweetn theRelying Party (RP)
andSecurity Token Service (STS)
. AnSecurity Token Service (STS)
won’t issueSecurity Tokens (ST)
for anRelying 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 LOB/ code, designed with 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 WCT/ They are transformations processed at packaging time. They depend on the current Build configuration.
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: JSON/
* More: IT:AD:WCF
XmlSerializer
- See: BinaryFormatter/
- More: Serialization
XSD
Formally describe elements using a schema to descrive in an abstract way an objects characteristics and relationships to other objects.
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): ZeroMQ