Jump to content

Apache Beehive: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
 
(28 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{Advert|date=October 2019}}
{{About|a Java application framework|the [[Hadoop]]-based data warehouse infrastructure|Apache Hive}}
{{About|a Java application framework|the [[Hadoop]]-based data warehouse infrastructure|Apache Hive}}
{{Infobox software
{{Infobox software
| name = Apache Beehive
| name = Apache Beehive
| logo =
| logo =
| screenshot =
| screenshot =
| caption =
| caption =
| developer = [[Apache Software Foundation]]
| developer = [[Apache Software Foundation]]
| discontinued = Yes
| status = Retired
| latest release version = 1.0.2
| latest release version = 1.0.2
| latest release date = {{release date|2006|12|04}}
| latest release date = {{release date and age|2006|12|04}}
| latest preview version =
| latest preview version =
| latest preview date =
| latest preview date =
| operating system = [[Cross-platform]]
| operating system = [[Cross-platform]]
| programming language = [[Java (programming language)|Java]]
| programming language = [[Java (programming language)|Java]]
| genre = Java Application Framework
| genre = Java Application Framework
| license = [[Apache License]] 2.0
| license = [[Apache License 2.0]]
| website = {{URL|https://beehive.apache.org}}
| website = {{URL|https://beehive.apache.org}}
}}
}}


'''Apache Beehive''' is a discontinued Java Application Framework that was designed to simplify the development of [[Java EE]] based applications. It makes use of various open-source projects at [[Apache Software Foundation|Apache]] such as [[XMLBeans]]. It leverages innovations in Java 5 which include [[Java Community Process|JSR-175]], which is a facility for annotating fields, methods and classes so that they can be treated in special ways by runtime tools. It builds on the framework developed for [[BEA Systems]] [[Weblogic]] Workshop for its 8.1 series. BEA later decided to donate the code to Apache.
'''Apache Beehive''' is a discontinued Java [[Application software|Application]] [[Framework (office suite)|Framework]] that was designed to simplify the development of [[Java EE]]-based applications. It makes use of various open-source projects at [[Apache Software Foundation|Apache]], such as [[XMLBeans]]. Apache Beehive uses Java 5, including [[Java Community Process|JSR-175]], a facility for annotating fields, methods, and classes so that they can be treated in special ways by runtime tools. It builds on the framework developed for [[BEA Systems]] [[Weblogic|WebLogic]] Workshop for its 8.1 series. BEA later decided to donate the code to Apache.{{Citation needed|date=May 2024}}


==History==
==History==
Version 8.1 of BEA's Weblogic Workshop includes a number of significant enhancements to version 7.0. The previous version was more focused on creating industrial-strength [[web services]] quickly. However, 7.0 did not have many customers, and it failed to create a stir in the market. However, for version 8.1, BEA created a whole new [[Integrated development environment|IDE]] which helped programmers to develop [[Java EE]] based applications more quickly. This was significantly better than 7.0 with more advanced features and also won several awards and gained a lot of critical acclaim. However, a new revolution was brewing in the [[Java (programming language)|Java]] universe in the form of [[Eclipse (computing)|Eclipse]] and it seemed like everyone was moving towards it. Although Workshop 8.1 did not succeed as much as it intended to, the Weblogic Workshop Framework which was developed for 8.1 version Workshop was recognized as a good solid framework. In order that it can be used with other [[Java EE]] based application servers, BEA decided to open-source the project under the purview of the [[Apache Software Foundation]].
Version 8.1 of BEA's WebLogic Workshop includes several improvements over version 7.0. The previous version was focused on creating industrial-strength web services quickly, and it failed due to low adoption and use. For version 8.1, BEA created a whole new Integrated Development Environment ([[Integrated development environment|IDE]]), which helped programmers to develop [[Java EE]]-based applications more quickly. The improvements in Version 8.1 over Version 7 garnered several awards.

Latest version of Beehive was released in December 4, 2006; its lifetime has ended in January 2010, when it has been retired and moved to [[Apache Attic]].
Although Workshop 8.1 only had limited success, the WebLogic Workshop Framework, which was developed for the 8.1 version Workshop, was recognized as a solid framework. In order for it to be used with other Java EE-based application servers, BEA decided to open-source the project under the purview of the [[Apache Software Foundation]].
The latest version of Beehive was released on December 4, 2006, and retired to Apache Attic in January 2010.


==Beehive components==
==Beehive components==
===Netui Page Flows===
===Netui Page Flows===
This is an application framework built on top of [[Jakarta Struts|Apache Struts]] which allows easier tooling and automatic updating of the various Struts configuration files.
This is an application framework built on top of [[Apache Struts]] that allows easier tooling and automatic updating of the various Struts configuration files.


===Controls===
===Controls===
This is the heart of the Beehive framework. A control can be defined as a program which can be used by the developer to quickly gain access to enterprise-level resources such as [[Enterprise Java Beans]] (EJBs), [[web services]] etc. For example consider accessing an old [[Enterprise_JavaBean#Legacy|legacy EJB 2]] bean. It involved a lot of boiler-plate code like getting access to an home interface, then creating/finding an EJB using finder methods and then accessing the remote methods of the bean. Using a control simplified this because it did most of the boiler-plate or routine coding for the developer, who could then concentrate more on business logic rather than worrying about the inner-details of [[Java EE]] technology. If the developer was sufficiently advanced, even then it was useful because then the developer could concentrate on more useful things like constructing a [[Facade pattern|Facade]] to a complex set of application APIs. In essence a control to a legacy EJB 2 bean ensured that the developer could simply use the control and call any business method of the EJB, using it in the same way as any other [[Java (programming language)|Java]] class. When EJB 3 came around, such simplification was already provided by the EJB specification itself,<ref>"This release made it much easier to write EJBs, using 'annotations' rather than the complex 'deployment descriptors' used in version 2.x. The use of home and remote interfaces and the ejb-jar.xml file were also no longer required..." [[Enterprise_JavaBean##EJB_3.0.2C_final_release_.282006-05-11.29|EJB]]</ref><ref>[[Enterprise_JavaBean#Example|EJB 3 example]]</ref><ref>"Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification." http://www.jboss.org/ejb3</ref><ref>"... the heavyweight programming paradigm in EJB 2.x, the flawed persistence model in EJB 2.x entity beans..." "In our view, one of the most important changes in EJB 3.1 is the redefinition of EJBs as simple managed bean POJOs with additional services." http://blog.caucho.com/?p=384</ref> and Beehive controls were of little further use here.<ref>"... the EJB 3 client model has essentially standardized much of the value-add that the [Beehive] EJB control offered in terms of simplifying the EJB 2.1 client model" http://markmail.org/message/mh43akcleflzes3r</ref><ref>Andre McCulloch, "OK, these are great points that lead me to believe that and [sic] EJB3 control does not provide much value add for Beehive right now." http://markmail.org/message/ktec5f4gsbw22ijb</ref> The Controls come with a standard set of controls wiz EJB Control, Webservice Control, Database Control and JMS Control. Custom controls can also be developed which in turn could make use of the controls already built-in.
Controls are the core of the Beehive framework. A control can be defined as a program that can be used by the developer to access enterprise-level resources, such as [[Enterprise Java Beans]] (EJBs), [https://johnnysdigital.com/ web services] etc. For example, consider accessing an old [[Enterprise JavaBean#Legacy|legacy EJB 2]] bean. It involved a lot of routine code like getting access to a home interface, creating/finding an EJB using finder methods, and then accessing the remote methods of the bean. Using a control simplifies this process by handling most of the routine coding for the developer, letting them work on business logic rather than the inner-details of [[Java EE]] technology. Controls are also useful to advanced developers, allowing them to concentrate on things like constructing a [[Facade pattern|Facade]] to a complex set of application APIs. In essence, a control to a legacy EJB 2 been ensured that the developer could simply use the control and call any business method of the EJB, using it in the same way as any other [[Java (programming language)|Java]] class. When EJB 3 came around, such simplification was already provided by the EJB specification itself,<ref>"This release made it much easier to write EJBs, using 'annotations' rather than the complex 'deployment descriptors' used in version 2.x. The use of home and remote interfaces and the ejb-jar.xml file were also no longer required..." [[Enterprise_JavaBean##EJB 3.0.2C final release .282006-05-11.29|EJB]]</ref><ref>[[Enterprise JavaBean#Example|EJB 3 example]]</ref><ref>"Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification." http://www.jboss.org/ejb3</ref><ref>"... the heavyweight programming paradigm in EJB 2.x, the flawed persistence model in EJB 2.x entity beans..." "In our view, one of the most important changes in EJB 3.1 is the redefinition of EJBs as simple managed bean POJOs with additional services." http://blog.caucho.com/?p=384 {{Webarchive|url=https://web.archive.org/web/20101123180758/http://blog.caucho.com/?p=384 |date=2010-11-23 }}</ref> And Beehive controls were of little further use here.<ref>"... the EJB 3 client model has essentially standardized much of the value-add that the [Beehive] EJB control offered in terms of simplifying the EJB 2.1 client model" http://markmail.org/message/mh43akcleflzes3r</ref><ref>Andre McCulloch, "OK, these are great points that lead me to believe that and [sic] EJB3 control does not provide much value add for Beehive right now." http://markmail.org/message/ktec5f4gsbw22ijb</ref> The Controls come with a standard set of controls wiz EJB Control, Web service Control, Database Control and JMS Control. Custom controls can also be developed, which in turn could make use of the controls already built-in.

===Webservices===
This is the third component of Beehive and it enables a developer to create webservices using meta-data/annotations quickly. In essence by using meta-data/annotations one can create complex [[web services]] utilizing features like conversation, state etc quickly and since all the meta-data/annotations are in one file, it is easier to debug and maintain. Using this approach any plain Java class can be converted into a web service just by the addition of annotations into the Java source files. This is based on [[Java Community Process|JSR-181]] which builds on [[Java Community Process|JSR-175]].


==See also==
===Web services===
This third component of Beehive enables a developer to create web services using meta-data/annotations. By using meta-data/annotations one can create complex [[web services]] utilizing features like conversation, state etc. Since all the metadata/annotations are in one file, it is easier to debug and maintain. Using this approach, any plain Java class can be converted into a web service just by the addition of annotations into the Java source files. This is based on [[Java Community Process|JSR-181]] which builds on [[Java Community Process|JSR-175]].
{{Portal|Java}}
<!-- formatting; please do not remove until some more text lines are added to compensate spacing -->


==References==
==References==
Line 44: Line 43:
{{Refbegin}}
{{Refbegin}}
*{{citation
*{{citation
| first1 = Kunal
|first1 = Kunal
| last1 = Mittal
|last1 = Mittal
| first2 = Srinivas
|first2 = Srinivas
| last2 = Kanchanavally
|last2 = Kanchanavally
| date = August 15, 2005
|date = August 15, 2005
| title = Pro Apache Beehive
|title = Pro Apache Beehive
| edition = 1st
|edition = 1st
| publisher = [[Apress]]
|publisher = [[Apress]]
| pages = 240
|pages = 240
| isbn = 978-1-59059-515-2
|isbn = 978-1-59059-515-2
| url = http://www.apress.com/book/view/9781590595152
|url = http://www.apress.com/book/view/9781590595152
|access-date = September 4, 2009
|archive-url = https://web.archive.org/web/20100102125156/http://apress.com/book/view/9781590595152
|archive-date = January 2, 2010
|url-status = dead
}}
}}
{{Refend}}
{{Refend}}
Line 60: Line 63:
==External links==
==External links==
*[http://beehive.apache.org Apache Beehive home site]
*[http://beehive.apache.org Apache Beehive home site]
*[http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/weblogic/workshop/ Weblogic Workshop]
*[http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/weblogic/workshop/ Web logic Workshop]
*[http://archive.eclipse.org/technology/archives/pollinate-project.tar.gz Pollinate Project] (An Eclipse plugin for Apache Beehive, now [http://www.eclipse.org/technology/archived.php archived] and inactive)
*[https://web.archive.org/web/20100629011458/http://archive.eclipse.org/technology/archives/pollinate-project.tar.gz Pollinate Project] (An Eclipse plugin for Apache Beehive, now [http://www.eclipse.org/technology/archived.php archived] and inactive)


{{Apache}}
{{Apache Software Foundation}}


{{DEFAULTSORT:Apache Beehive}}
{{DEFAULTSORT:Apache Beehive}}

Latest revision as of 18:29, 17 July 2024

Apache Beehive
Developer(s)Apache Software Foundation
Final release
1.0.2 / December 4, 2006; 17 years ago (2006-12-04)
Repository
Written inJava
Operating systemCross-platform
TypeJava Application Framework
LicenseApache License 2.0
Websitebeehive.apache.org

Apache Beehive is a discontinued Java Application Framework that was designed to simplify the development of Java EE-based applications. It makes use of various open-source projects at Apache, such as XMLBeans. Apache Beehive uses Java 5, including JSR-175, a facility for annotating fields, methods, and classes so that they can be treated in special ways by runtime tools. It builds on the framework developed for BEA Systems WebLogic Workshop for its 8.1 series. BEA later decided to donate the code to Apache.[citation needed]

History

[edit]

Version 8.1 of BEA's WebLogic Workshop includes several improvements over version 7.0. The previous version was focused on creating industrial-strength web services quickly, and it failed due to low adoption and use. For version 8.1, BEA created a whole new Integrated Development Environment (IDE), which helped programmers to develop Java EE-based applications more quickly. The improvements in Version 8.1 over Version 7 garnered several awards.

Although Workshop 8.1 only had limited success, the WebLogic Workshop Framework, which was developed for the 8.1 version Workshop, was recognized as a solid framework. In order for it to be used with other Java EE-based application servers, BEA decided to open-source the project under the purview of the Apache Software Foundation. The latest version of Beehive was released on December 4, 2006, and retired to Apache Attic in January 2010.

Beehive components

[edit]

Netui Page Flows

[edit]

This is an application framework built on top of Apache Struts that allows easier tooling and automatic updating of the various Struts configuration files.

Controls

[edit]

Controls are the core of the Beehive framework. A control can be defined as a program that can be used by the developer to access enterprise-level resources, such as Enterprise Java Beans (EJBs), web services etc. For example, consider accessing an old legacy EJB 2 bean. It involved a lot of routine code like getting access to a home interface, creating/finding an EJB using finder methods, and then accessing the remote methods of the bean. Using a control simplifies this process by handling most of the routine coding for the developer, letting them work on business logic rather than the inner-details of Java EE technology. Controls are also useful to advanced developers, allowing them to concentrate on things like constructing a Facade to a complex set of application APIs. In essence, a control to a legacy EJB 2 been ensured that the developer could simply use the control and call any business method of the EJB, using it in the same way as any other Java class. When EJB 3 came around, such simplification was already provided by the EJB specification itself,[1][2][3][4] And Beehive controls were of little further use here.[5][6] The Controls come with a standard set of controls wiz EJB Control, Web service Control, Database Control and JMS Control. Custom controls can also be developed, which in turn could make use of the controls already built-in.

Web services

[edit]

This third component of Beehive enables a developer to create web services using meta-data/annotations. By using meta-data/annotations one can create complex web services utilizing features like conversation, state etc. Since all the metadata/annotations are in one file, it is easier to debug and maintain. Using this approach, any plain Java class can be converted into a web service just by the addition of annotations into the Java source files. This is based on JSR-181 which builds on JSR-175.

References

[edit]
  1. ^ "This release made it much easier to write EJBs, using 'annotations' rather than the complex 'deployment descriptors' used in version 2.x. The use of home and remote interfaces and the ejb-jar.xml file were also no longer required..." EJB
  2. ^ EJB 3 example
  3. ^ "Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification." http://www.jboss.org/ejb3
  4. ^ "... the heavyweight programming paradigm in EJB 2.x, the flawed persistence model in EJB 2.x entity beans..." "In our view, one of the most important changes in EJB 3.1 is the redefinition of EJBs as simple managed bean POJOs with additional services." http://blog.caucho.com/?p=384 Archived 2010-11-23 at the Wayback Machine
  5. ^ "... the EJB 3 client model has essentially standardized much of the value-add that the [Beehive] EJB control offered in terms of simplifying the EJB 2.1 client model" http://markmail.org/message/mh43akcleflzes3r
  6. ^ Andre McCulloch, "OK, these are great points that lead me to believe that and [sic] EJB3 control does not provide much value add for Beehive right now." http://markmail.org/message/ktec5f4gsbw22ijb

Bibliography

[edit]
  • Mittal, Kunal; Kanchanavally, Srinivas (August 15, 2005), Pro Apache Beehive (1st ed.), Apress, p. 240, ISBN 978-1-59059-515-2, archived from the original on January 2, 2010, retrieved September 4, 2009
[edit]