Collection of definitions -

  • OData: OData is a specification for ensuring that data service consumers can rely on a consistent experience from the services they consume. For ex. one of the rules of this specification is that OData results are output by default in ATOM format and that it can also output results in JSON format.
  • iCalendar: is a computer file format which allows internet users to send meeting requests and tasks to other internet users, via email, or sharing files with an .ics file extension. You can sync say for example a google calendar appointment with outlook using this format.
  • Hardening: means securing the software system. Server hardening would mean processes such as closing all the ports that are not required. Application hardening would mean obfuscating the code so that it can not be read and reverse engineered.
  • WebSeal:  webseal is a high performance, multi-threaded web server that provides fine grained security policy to the IBM Tivoli Access Manager protected web object space. IBM Tivoli Access manager is the resource manager responsible for protecting and managing web information and resources. WebSEAL normally acts as a reverse Web proxy by receiving HTTP/HTTPS requests from a Web browser and delivering content from its own Web server or from junction back-end Web application servers. Requests passing through WebSEAL are evaluated by the Tivoli Access Manager authorization service to determine whether the user is authorized to access the requested resource. WebSEAL provides the following features:
    • Supports multiple authentication methods: Both built-in and plug-in architectures allow flexibility in supporting a variety of authentication mechanisms.
    • Accepts HTTP and HTTPS requests
    • Integrates and protects back-end server resources through WebSEAL junction technology
    • Manages fine-grained access control for the local and back-end server Web space. 
    • Supported resources include URLs, URL-based regular expressions, CGI programs, HTML files, Java servlets, and Java class files.
    • Performs as a reverse Web proxy: WebSEAL appears as a Web server to clients and appears as a Web browser to the junctioned back-end servers it is protecting.
    • Provides single sign-on capabilities
  • RAID: Redundant Array of Inexpensive Disks: Redundancy is achieved by either writing the same data to multiple drives (known as mirroring), or writing extra data (known as parity data) across the array, calculated such that the failure of one (or possibly more, depending on the type of RAID) disks in the array will not result in loss of data. A failed disk may be replaced by a new one, and the lost data reconstructed from the remaining data and the parity data.
  • Hardware Interrupts: is an asynchronous signal to the processor signifying that some other process needs attention. The interrupt causes the processor to stop execution, save its state of execution and begin executing the interrupt handler.
  • L1 and L2 Cache: This is the cache that comes with the CPU. CPU first looks into L1 cache and then into L2 cache. Usually, L1 cache is smaller and faster than L2 cache.
  • Named Pipe: In unix terms a pipe is a set of standard processes chained by their standard stream so the output of each process feeds directly as input to the next one. For ex. ls –l | less. A pipe is FIFO in behavior. They are used for inter-process communications (IPC). Usually a pipe is unnamed and persists only as long as the process persists. In .NET you can use pipes through System.IO.Pipes namespace.
  • REST: REST is representational state transfer. Typically, RESTful web services mean that we are going to use basic HTTP verbs (GET, PUT, POST, DELETE) to do service operations. Hence, they usually have an intuitive URL to perform these operations.
  • JSON: JavaScript Object Notation. This is the format in which javascript stores objects. JSON doesn't have a schema unlike XML. Basic structures in JSON -
    • {object}
    • "key":"value"
    • [array]
    • Ex. {"Name":"Michael Jordan", "NickNames": ["MJ", "Air Jordan", "His Airness"]}
  • Hadoop - Open source software framework for large-scale processing of data.
  • Map-Reduce - is a programming model that allows for large-scale scalability across large number of servers. The map task converts the subject data into another type comprising of key-value pairs. The reduce task always comes after map task. The reduce task takes as input the output of map task and combines that data into smaller data. 
  • Active Directory - Provides authentication and authorization within a windows domain networks. AD uses LDAP which is Microsoft's version of kerberos and DNS.
  • LDAP: Lightweight Directory Access Protocol is an application protocol for querying and modifying directory services running on TCP/IP. A directory is a set of objects with attributes organized in a logical and hierarchical manner. Most common ex. is telephone directory. LDAP used DNS to structure topmost levels of hierarchy.
  • Kerberos - is an authentication protocol that uses symmetric key cryptography and relies on a third trusted party to generate tickets. Uses UDP port 88.
  • Symmetric key algorithm - relies on the same key for encryption and decryption. Which means both parties need to know the key which is the biggest drawback compared to asymmetric key algorithm (public key cryptography). AES (aka Rijndael) uses symmetric key algorithm. 
  • Public key cryptography or Asymmetric key - uses a pair of public private keys for encryption/decryption. For ex SSH protocol.
  • X.509In X.509 system a CA(Certificate Authority) issues a certificate binding a public key to a particular distinguished name or alternate name or an email id or a DNS entry. A X.509 certificate includes details such as version number, validity, issuer, algorithm, public key.
  • SSH File Transfer Protocol (SFTP) - Network protocol for file transfer, access and management. Assumes it is run over a secure channel like SSH. SFTP is not FTP over SSH. SCP only allows file transfer. SFTP provides more in terms of resuming interrupted file transfer, remote file delete, listings etc.
  • Secure Shell (SSH) - Is a network protocol that provides a secure channel between a client and a server. Uses TCP port 22. Used for remote login, file transfers etc.