Castle Project

Last updated
Castle Project
Stable release
3.3.3 / November 6, 2014;8 years ago (2014-11-06)
Operating system Cross-platform
Type Application framework
License Apache 2.0
Website www.castleproject.org OOjs UI icon edit-ltr-progressive.svg

Castle Project (or Castle for short) is an open-source application framework for CLI platform implementations (e.g., .NET Framework). It was released on November 6, 2014. The project was founded by a member of the Apache Avalon and the Apache Excalibur projects.

Contents

History

The project was founded by Hamilton Verissimo de Oliveira (aka "Hammett"), who was a member of the Apache Avalon and the Apache Excalibur projects. Keenly interested in the development of an inversion of control container, after he resigned from Avalon and became disillusioned with Excalibur, he went on to develop and release his own for the .NET platform.[ citation needed ]

Hammett was joined by other developers after publishing a series of articles on Code Project, [1] [2] and the Castle Project eventually expanded its mission "to provide a simple set of tools to speed up the development of common enterprise and web applications while promoting good architecture". [3]

The Castle Project continues to gain acceptance and mind-share from the .NET community, including recognition from Microsoft thought leaders as a framework to assist with building "robust, extensible, working software". [4]

In 2006, Hammett started his own company to offer commercial support for the Castle Project and for the applications developed using the framework. In August 2008, he joined Microsoft as a Program Manager on the MEF team. [5]

On October 31, 2008, Hammett announced on his blog that the Castle Project had been split, and subsequently all subprojects would be maintained and released independently. [6]

The first project to be released after the split was DynamicProxy, on May 4, 2009. [7]

Features

Related Research Articles

<span class="mw-page-title-main">Internet Information Services</span> Extensible web server software by Microsoft

Internet Information Services is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part of the Windows NT family since Windows NT 4.0, though it may be absent from some editions, and is not active by default.

DotGNU is a decommissioned part of the GNU Project that started in January 2001. DotGNU aims to provide a free software replacement for Microsoft's .NET Framework by Free Software Foundation. Other goals of the project are better support for non-Windows platforms and support for more processors.

ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Active Server Pages Network Enabled Technologies.

Apache Avalon is a computer software framework developed in 1999 as a project to provide a reusable component framework for container (server) applications. Avalon pioneered the use of design patterns such as separation of concerns (SoC) and inversion of control (IoC).

In software engineering, inversion of control (IoC) is a design pattern in which custom-written portions of a computer program receive the flow of control from a generic framework. The term "inversion" is historical: a software architecture with this design "inverts" control as compared to procedural programming. In procedural programming, a program's custom code calls reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls the custom code.

Apache HiveMind is an inversion of control (IOC) software project of the Apache Software Foundation written in Java. It takes the form of a services and configuration microkernel.

<span class="mw-page-title-main">Apache Tapestry</span> Open-source web application framework

Apache Tapestry is an open-source component-oriented Java web application framework conceptually similar to JavaServer Faces and Apache Wicket. Tapestry was created by Howard Lewis Ship, and was adopted by the Apache Software Foundation as a top-level project in 2006.

iBATIS is a persistence framework which automates the mapping between SQL databases and objects in Java, .NET, and Ruby on Rails. In Java, the objects are POJOs. The mappings are decoupled from the application logic by packaging the SQL statements in XML configuration files. The result is a significant reduction in the amount of code that a developer needs to access a relational database using lower level APIs like JDBC and ODBC.

Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx, often as a load balancer.

Comparison of the Java and .NET platforms.

MonoRail, a component of the Castle Project, is an open source web application framework built on top of the ASP.NET platform. Inspired by Ruby on Rails Action Pack, MonoRail differs from standard ASP.NET Web Forms development by enforcing separation of concerns using a model–view–controller (MVC) architecture. The framework is commonly used in conjunction with Castle ActiveRecord, an ORM layer built on NHibernate. In January 2010, version 2.0 of MonoRail was released, however, many projects use the trunk version of the source to take advantage of new features without waiting for official releases.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Apache Excalibur project produces a set of libraries for component based programming in the Java language. Its main products include the inversion of control (IoC) framework Avalon, an Avalon-based container named Fortress, and a set of Avalon compatible software components.

ASP.NET MVC is a web application framework developed by Microsoft that implements the model–view–controller (MVC) pattern. It is no longer in active development. It is open-source software, apart from the ASP.NET Web Forms component, which is proprietary.

<span class="mw-page-title-main">Apache James</span> Open-source mail server

Apache James, a.k.a. Java Apache Mail Enterprise Server or some variation thereof, is an open source SMTP and POP3 mail transfer agent written entirely in Java. James is maintained by contributors to the Apache Software Foundation, with initial contributions by Serge Knystautas. IMAP support has been added as of preview version 3.0-M2, which now requires Java 1.5 or later.

<span class="mw-page-title-main">Cherokee (web server)</span> Open source web server software application

Cherokee is an open-source cross-platform web server that runs on Linux, BSD variants, Solaris, OS X, and Windows. It is a lightweight, high-performance web server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light. Major features of Cherokee include a graphical administration interface named cherokee-admin, and a modular light-weight design.

Apache Attic is a project of Apache Software Foundation to provide processes to make it clear when an Apache project has reached its end-of-life. The Attic project was created in November 2008. Also the retired projects can be retained.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

References

  1. Verissimo, Hamilton (2004-12-30). "Introducing Castle - Part I" . Retrieved 2004-12-27.
  2. Verissimo, Hamilton (2005-01-26). "Introducing Castle - Part II" . Retrieved 2005-01-26.
  3. Krill, Paul (2006-11-21). "Castle built for .NET". Archived from the original on 2013-01-26.
  4. Eini, Oren (2006-11-10). "Inversion of Control and Dependency Injection: Working with Windsor Container". Archived from the original on 2007-09-11. Retrieved 2007-09-07.
  5. Hammett (2008-07-16). "Joining Microsoft" . Retrieved 2015-10-14.
  6. Hammett (2008-10-31). "Changes to Castle Project" . Retrieved 2015-10-14.
  7. Rossi, Jonathon (2009-05-04). "Castle DynamicProxy 2.1 RTM is now available" . Retrieved 2015-10-14.