Documentation Center

Acknowledgments

SDL Web includes open source or similar third-party software.

Ajax Minifier

The Microsoft Ajax Minifier enables you to improve the performance of your web applications by reducing the size of your Cascading Style Sheet and JavaScript files.

Akka

Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM.

ANTLR

ANTLR is a powerful parser generator that you can use to read, process, execute, or translate structured text or binary files.

AOP Alliance

AOP Alliance intends to facilitate and standardize the use of AOP to enhance existing middleware environments (such as J2EE), or development environments (e.g. JBuilder, Eclipse). The AOP Alliance also aims to ensure interoperability between Java/J2EE AOP implementations to build a larger AOP community.

Apache ActiveMQ

Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.

Apache Ant

Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications. Ant can also be used effectively to build non Java applications, for instance C or C++ applications. More generally, Ant can be used to pilot any type of process which can be described in terms of targets and tasks.

Apache Axis

Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.

Apache Commons BeanUtils

The Java language provides Reflection and Introspection APIs (see the java.lang.reflect and java.beans packages in the JDK Javadocs). However, these APIs can be quite complex to understand and utilize. The BeanUtils component provides easy-to-use wrappers around these capabilities.

Apache Commons Codec

Apache Commons Codec (TM) software provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.

Apache Commons Configuration

The Commons Configuration software library provides a generic configuration interface which enables a Java application to read configuration data from a variety of sources. Commons Configuration provides typed access to single, and multi-valued configuration parameters.

Apache Commons DBCP (Database Connection Pools)

Many Apache projects support interaction with a relational database. Creating a new connection for each user can be time consuming (often requiring multiple seconds of clock time), in order to perform a database transaction that might take milliseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large. Accordingly, developers often wish to share a "pool" of open connections between all of the application's current users. The number of users actually performing a request at any given time is usually a very small percentage of the total number of active users, and during request processing is the only time that a database connection is required. The application itself logs into the DBMS, and handles any user account issues internally. There are several Database Connection Pools already available, both within Apache products and elsewhere. This Commons package provides an opportunity to coordinate the efforts required to create and maintain an efficient, feature-rich package under the ASF license.

Apache Commons FileUpload

The Commons FileUpload package makes it easy to add robust, high-performance, file upload capability to your servlets and web applications.

Apache Commons HttpClient

HttpClient was started in 2001 as a subproject of the Jakarta Commons, based on code developed by the Jakarta Slide project.

Apache Commons Lang

The standard Java libraries fail to provide enough methods for manipulation of its core classes. Apache Commons Lang provides these extra methods.

Lang provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, concurrency, creation and serialization and System properties. Additionally it contains basic enhancements to java.util.Date and a series of utilities dedicated to help with building methods, such as hashCode, toString and equals.

Apache Commons Logging

The Logging package is an ultra-thin bridge between different logging implementations. A library that uses the commons-logging API can be used with any logging implementation at runtime. Commons-logging comes with support for a number of popular logging implementations, and writing adapters for others is a reasonably simple task.

Apache Commons Pool

Pool provides an Object-pooling API, with three major aspects:

  1. A generic object pool interface that clients and implementers can use to provide easily interchangeable pooling implementations.
  2. A toolkit for creating modular object pools.
  3. Several general purpose pool implementations.
Apache Geronimo

Apache Geronimo is an open source server runtime that integrates the best open source projects to create Java/OSGi server runtimes that meet the needs of enterprise developers and system administrators.

Apache HttpClient

Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. HttpClient seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations.

Designed for extension while providing robust support for the base HTTP protocol, HttpClient may be of interest to anyone building HTTP-aware client applications such as web browsers, web service clients, or systems that leverage or extend the HTTP protocol for distributed communication.

Apache Log4j

Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback's architecture.

Apache Lucene, SOLR

The Apache Lucene™ project develops open-source search software.

Apache Tomcat, Tomcat Embed

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.

Apache XBean :: Spring

XBean :: Spring provides a schema-driven proprietary namespace handler for Spring contexts.

Apache Xerces
The Apache Xerces Project is responsible for software licensed to the Apache Software Foundation intended for the creation and maintenance of:
  • XML parsers
  • related software components
Apache XML

The Apache XML Project used to be the home for many XML-related subprojects, many of which have moved to top-level project status recently or are currently in migration. The Apache XML Project slowly transforms into an place where you can find pointers to XML-related projects here in The Apache Foundation.

ASM

ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools.

AspectJ

AspectJ is a seamless aspect-oriented extension to the Java programming language. It is Java platform compatible easy to learn and use.

AWS SDK for .NET

AWS SDK for .NET (Amazon Web services Software Development Kit for .NET) helps take the complexity out of coding by providing .NET APIs for AWS services including Amazon S3, Amazon EC2, Amazon DynamoDB and more.

AWS SDK for Amazon SQS

The AWS Java SDK for Amazon SQS module holds the client classes that are used for communicating with Amazon Simple Queue Service.

AWS SDK for Java Core

The AWS SDK for Java - Core module holds the classes that are used by the individual service clients to interact with Amazon Web Services. Users need to depend on aws-java-sdk artifact for accessing individual client classes.

Cactus

Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).

CDI APIs

APIs for CDI (Contexts and Dependency Injection for Java).

cglib

cglib is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime.

ChilkatDotNet

Best selling POP3/SMTP email .NET component for C#, VB.NET, and ASP.NET.

dom4j

dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.

DotNetMagic

DotNetMagic is a suite of components that will allow you to add Office 2007, Visual Studio or Windows Media Player themes to your applications as well as a docking window system that offers all the features found in Visual Studio .NET including auto hide and docking indicators.

Dozer

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types.

dsinfo

The dsinfo library enables you to easily use Scala-side information in implementations of embedded (internal) domain-specific languages. dsinfo is implemented using Scala macros which are an experimental feature of Scala 2.10 and 2.11.

dsprofile

The dsprofile library provides general facilities to implement domain-specific profiling in Scala and Java programs.

EasyLicenser

EasyLicenser is a licensing module.

EdmLib

EdmLib contains classes to represent, construct, parse, serialize and validate entity data models.

edtFTPj/Free

Free Java FTP library gives Java developers extensive FTP functionality.

Ehcache

Ehcache is an open source, standards-based cache for boosting performance, offloading your database, and simplifying scalability. It's the most widely-used Java-based cache because it's robust, proven, and full-featured. Ehcache scales from in-process, with one or more nodes, all the way to mixed in-process/out-of-process configurations with terabyte-sized caches.

FinJ

Programmatically controllable FTP client written in the Java language that targets any network oriented standalone application, and even applet, that needs to rely on FTP to exchange files over a network. Should replace the cryptic sun.net.ftp.* classes.

globalize

JavaScript globalization and localization. Formats and parses strings, dates and numbers in over 350 cultures.

google-gson

google-gson is a Java library to convert JSON to Java objects and vice-versa.

Google Guava

The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.

gRaphael

gRaphael’s goal is to help you create stunning charts on your website. It is based on Raphael graphics library.

Hibernate

Hibernate is a high-performance Object/Relational persistence and query service. The most flexible and powerful Object/Relational solution on the market, Hibernate takes care of the mapping from Java classes to database tables and from Java data types to SQL data types. It provides data query and retrieval facilities that significantly reduce development time. Hibernate's design goal is to relieve the developer from 95% of common data persistence-related programming tasks by eliminating the need for manual, hand-crafted data processing using SQL and JDBC.

HK2 Framework

HK2 is a light-weight and dynamic dependency injection framework.

HSQLDB (HyperSQL DataBase)

HSQLDB (HyperSQL DataBase) is the leading SQL relational database engine written in Java. It offers a small, fast multithreaded and transactional database engine with in-memory and disk-based tables and supports embedded and server modes. It includes a powerful command line SQL tool and simple GUI query tools.

HTML Compare

HTML Compare is the best way to find changes in different versions of HTML pages and Web sites.

Jackson tooling

Inspired by the quality and variety of XML tooling available for the Java platform (StAX, JAXB, etc.), the Jackson is a multi-purpose Java library for processing JSON data format. Jackson aims to be the best possible combination of fast, correct, lightweight, and ergonomic components for developers.

JACOB

JACOB is a JAVA-COM Bridge that allows you to call COM Automation components from Java. It uses JNI to make native calls to the COM libraries. JACOB runs on x86 and x64 environments supporting 32 bit and 64 bit JVMs.

Jakarta-ORO

The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc.

Javassist (Java Programming Assistant)

Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source-level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.

Java Common Annotations

Common Annotations for the JavaTM Platform API

Java API for RESTful services (JAX-RS)

The Java API for RESTful services (JAX-RS).

Java Mail

The Java Mail API offers e-mail functionality.

JavaBeans Activation Framework

With the JavaBeans Activation Framework standard extension, developers who use Java technology can take advantage of standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and to instantiate the appropriate bean to perform said operation(s).

JavaBeans Validation

Bean Validation (JSR-303) API.

javax.annotation

JSR 250 Common Annotations For The Java Platform.

javax.cache

Caching Java API

Javax Expression Language

Expression Language Java API

javax.inject

Dependency Injection Java API

JAXB

The goal of the JAXB project is to develop and evolve the code base for the Reference Implementation (RI) of JAXB, the Java Architecture for XML Binding. The JAXB specification is developed through the Java Community Process following the process described at jcp.org. This process involves an Expert Group with a lead that is responsible for delivering the specification, a reference implementation (RI) and a Technology Compatibility Kit (TCK). The primary goal of an RI is to support the development of the specification and to validate it. Specific RIs can have additional goals; the JAXB RI is a production-quality implementation that is used directly in a number of products by Oracle and other vendors.

JAX-RPC

The Standard Implementation for JAX-RPC.

JBoss EJB Interceptors
The EJB 3.0 spec defines the ability to apply custom made interceptors to the business methods of your session and message driven beans (and of course to the JBoss @Service and @Consumer beans). EJB 3.0 interceptors take the form of methods annotated with the @javax.ejb.AroundInvoke annotation.
JBoss Java Annotation Indexer (Jandex)

A Java Annotation Indexer for JBoss

JBoss Logging Framework

The JBoss Logging Framework.

JDOM

JDOM's mission: to provide a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code.

jedis

A blazingly small and sane Redis Java client.

Jersey RESTful WS

Developing RESTful Web services that seamlessly support exposing your data in a variety of representation media types and abstract away the low-level details of the client-server communication is not an easy task without a good toolkit. In order to simplify development of RESTful Web services and their clients in Java, a standard and portable JAX-RS API has been designed. Jersey RESTful Web Services framework is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation.

Jettison

Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nearly transparent enablement of JSON based web services in services frameworks like CXF or XML serialization frameworks like XStream.

JLine

JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar.

Joda-Convert

Joda-Convert provides a small set of classes to provide round-trip conversion between Objects and Strings. It does not tackle the wider problem of Object to Object transformation.

Joda-Time

Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the http://www.joda.org/joda-time/cal_iso.html standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing.

jQuery

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.

Json.NET

Json.NET is a popular high-performance JSON framework for .NET.

jsoup

jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.

JTA (Java Transaction API)

The javax.transaction package. It is appropriate for inclusion in a classpath, and may be added to a Java 2 installation.

JUnit

JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.

Kiama

The Kiama test library contains a collection of examples, tests that use those examples, and useful test support code.

Knockout JavaScript library

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.

Logback

Logback is intended as a successor to the popular log4j project, picking up where log4j leaves off.

Microsoft ASP.NET Web API

This package contains everything you need to host ASP.NET Web API on IIS. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.

SDL uses the Web API client libraries, core libraries, the API for OData 4.0, and the Web host.

Microsoft BCL Build Components

This package provides build infrastructure components so that projects referencing specific Microsoft packages can successfully build. Do not directly reference this package unless you receive a build warning that instructs you to add a reference.

Microsoft BCL Portability Pack

This packages enables projects targeting down-level platforms to use some of the types added in later versions.

Microsoft HTTP Client Libraries

This package includes HttpClient for sending requests over HTTP, as well as HttpRequestMessage and HttpResponseMessage for processing HTTP messages. This package is not supported in Visual Studio 2010, and is only required for projects targeting .NET Framework 4.5, Windows 8, or Windows Phone 8.1 when consuming a library that uses this package.

Microsoft.Spatial

Contains classes and methods that facilitate geography and geometry spatial operations. Support OData v4 only. Targets .NET Portable Lib with support for .NET 4.0, SL 5.0, Win Phone 8, Win Phone 8.1, and Win 8. Localized for CHS, CHT, DEU, ESN, FRA, ITA, JPN, KOR and RUS.

OData Client for .NET

LINQ-enabled client API for issuing OData queries and consuming OData JSON payloads. Supports OData v4 only. Targets .NET 4.0, and .NET Portable Lib with support for .NET 4.5, Win Phone 8, Win Phone 8.1, and Win 8. Localized for CHS, CHT, DEU, ESN, FRA, ITA, JPN, KOR and RUS.

ODataLib

ODataLib contains classes to serialize, deserialize and validate OData JSON payloads.

Oracle Data Provider for .NET (ODP.NET), x86 and x64

Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database. ODP.NET allows developers to take advantage of advanced Oracle database functionality, including Real Application Clusters, XML DB, and self-updating client caches.

OSGi Resource Locator

Part of HK2 - A light-weight and dynamic dependency injection framework. Used by various API providers that rely on META-INF/services mechanism to locate providers.

PATRICIA Trie in Java

An implementation of the Practical Algorithm to Retrieve Information Coded in Alphanumeric (PATRICIA).

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Scala

The Scala programming language fuses object-oriented and functional programming in a statically typed programming language. It is aimed at the construction of components and component systems.

Scallop

Scallop is a command line parser.

Sentry Spelling Checker Engine

Sentry Spelling Engine is a Windows DLL you can call from your applications to add a powerful, professional quality spell checker in minutes. The Sentry Windows SDK includes everything you need to integrate the Sentry DLL with your apps.

SizzleJS

A pure-JavaScript CSS selector engine designed to be easily dropped in to a host library.

SLF4J

The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

SnakeYAML

YAML is a data serialization format designed for human readability and interaction with scripting languages. SnakeYAML is a YAML parser and emitter for the Java programming language.

SNMP4J

SNMP4J is an enterprise class free open source and state-of-the-art SNMP implementation for Java™ 2SE 1.4 or later. SNMP4J supports command generation (managers) as well as command responding (agents). Its clean object oriented design is inspired by SNMP++, which is a well-known SNMPv1/v2c/v3 API for C++.

SpringFox

Automated JSON API documentation for API's built with Spring.

Spring Framework

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

SSHTools

SSHTools is an implementation of the SSH protocol in Java.

StAX

StAX is a standard XML processing API that allows you to stream XML data from and to your application. This StAX implementation is the standard pull parser implementation for JSR-173 specification.

Swagger

Swagger is a simple yet powerful representation of your RESTful API. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability.

TidyCOM

A quorum of developers have pitched in on a SourceForge project to maintain and further develop Dave Raggett's excellent HTML Tidy program. We have two primary goals. First, to provide a home where all the patches and fixes that folks contribute can be collected and incorporated into the program. Second, a library form of Tidy has been created to make it easier to incorporate Tidy into other software.

Tika

The Apache Tika™ toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries.

TechTrader Bytecode Toolkit

The TechTrader Bytecode Toolkit is a library for creating and manipulating Java bytecode. The toolkit is designed to be as developer-friendly as possible, providing a rich set of high-level, intuitive APIs that abstract the developer from the details of the .class file format. Unlike some frameworks which focus on compiling another language into JVM-compatible code, the TechTrader toolkit is designed specifically to modify/enhance the bytecode of existing java classes and create new java classes on the fly. From adding detailed logging or performance profiling instructions to existing classes, to enhancing code for transparent data store persistence, to creating EJBs from normal java objects, to compiling complex XSL expressions into custom classes at runtime -- it's all possible via bytecode modification.

TwelveMonkeys ImageIO

TwelveMonkeys ImageIO is a collection of plugins and extensions for Java's ImageIO. These plugins extends the number of image file formats supported in Java, using the javax.imageio.* package. The main purpose of this project is to provide support for formats not covered by the JRE itself.

ua-parser

A multi-language port of Browserscope's user agent parser.

WAFFLE

WAFFLE is a native Windows Authentication Framework consisting of two C# and Java libraries that perform functions related to Windows authentication, supporting Negotiate, NTLM and Kerberos. Waffle also includes libraries that enable drop-i n Windows Single Sign On for popular Java web servers, when running on Windows. While Waffle makes it ridiculously easy to do Windows Authentication in Java, on Windows, Waffle does not work on *nix.

WiX

The WiX toolset builds Windows installation packages from XML source code. The tool-set integrates seamlessly into build processes.

Xalan-Java

Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program.