Castle Project

Last updated
Castle Project
Stable release
3.3.3 / November 6, 2014;10 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

The Jakarta Project created and maintained open source software for the Java platform. It operated as an umbrella project under the auspices of the Apache Software Foundation, and all Jakarta products are released under the Apache License. As of December 21, 2011 the Jakarta project was retired because no subprojects were remaining.

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

Microsoft IIS is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, 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. A dedicated suite of software called SEO Toolkit is included in the latest version of the manager. This suite has several tools for SEO with features for metatag / web coding optimization, sitemaps / robots.txt configuration, website analysis, crawler setting, SSL server-side configuration and more.

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

ASP.NET is a 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.

IronPython is an implementation of the Python programming language targeting the .NET and Mono frameworks. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with Python Tools for Visual Studio, which is a free and open-source extension for Microsoft's Visual Studio IDE.

In software engineering, inversion of control (IoC) is a design principle in which custom-written portions of a computer program receive the flow of control from an external source. 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 external source or framework that calls the custom code.

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

Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML, but now they commonly allow embedding of server side applications.

The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. The framework does not impose any specific programming model.. The framework has become popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model. The Spring Framework is free and open source software.

Microsoft UI Automation (UIA) is an application programming interface (API) that allows one to access, identify, and manipulate the user interface (UI) elements of another application.

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 Russian developer 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.

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.

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.

Visual Studio Tools for Applications (VSTA) is a set of tools that independent software vendors (ISVs) can use to build customization abilities into their applications for both automation and extensibility. Those customization abilities can be used by end-users to tailor the ISV's application within a managed extensibility environment just like Visual Basic for Applications.

Apache Empire-db is a Java library that provides a high level object-oriented API for accessing relational database management systems (RDBMS) through JDBC. Apache Empire-db is open source and provided under the Apache License 2.0 from the Apache Software Foundation.

<span class="mw-page-title-main">.NET Framework version history</span>

Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2001 the first beta versions of .NET Framework 1.0 were released. The first version of .NET Framework was released on 13 February 2002, bringing managed code to Windows NT 4.0, 98, 2000, ME and XP.

Microsoft, a tech 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". Archived from the original on 2016-03-03. Retrieved 2015-10-14.
  6. Hammett (2008-10-31). "Changes to Castle Project". Archived from the original on 2015-10-02. Retrieved 2015-10-14.
  7. Rossi, Jonathon (2009-05-04). "Castle DynamicProxy 2.1 RTM is now available" . Retrieved 2015-10-14.