360 likes | 453 Views
Chapter 11 JavaBeans. Process Phases Discussed in This Chapter. Requirements Analysis. Design. Framework. Architecture. Detailed Design. Implementation. Key:. = main emphasis. = secondary emphasis. x. x.
E N D
Process Phases Discussed in This Chapter Requirements Analysis Design Framework Architecture Detailed Design Implementation Key: = main emphasis = secondary emphasis x x Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Learning Goals for This Chapter Understand … • … what JavaBeans (“Beans”) are • … the life-cycle of a Bean • … Bean containers • … create JavaBeans • … connect Beans in BeanBox • … create applications that use Beans Be able to … Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Java Beans Design Goals 1 • Create a component technology within Java • capitalize on Java portability • Include GUI components • but not limited to GUI (e.g. server bean) • Compete with other visual programming and component systems • (which are often specific to an O.S.) • usually Windows • require installation of some kind
Beans Design Goals 2 • “Light weight” for Internet applications • Secure • use Java security model • Easy & efficient to distribute • Provide mechanism which enables development environment (“container”) to determine methods, properties & events Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Design Goal At Work: Reusability Facilitate the easy reuse of Java code. Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Output Of Chair Maker Estimator Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Bean Phases Phase 1. Create Bean Classes Source subject to rules Design / implementation time. Phase 2. Create Bean from Multiple Bean Classes Combine Bean classes to make new Beans; create manifest; compile Instance creation time. Phase 3. Create Bean Instance Instantiate object(s), usually in a Bean environment (container) -------- Phase 4a. Combine Beans in Bean Container to Make Application Combine with other Beans to produce application Assembly time. - or - Deployment time. Phase 4b. Deploy Bean and Use in Applications Place application, Beans and required software on target platform Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Key Concept: Ways to use Beans -- within environments; connected to other Beans; within applications. Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Amenities Afforded by Bean Environments • Detection of the Bean’s properties Read only – or- Writeable • Detection of listeners supported So events on the Bean can be handled • Ability to easily create instances and display an image if an awt or swing object Set property values visually • Ability to store instances Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Required Bean Rules 1 of 2 • Java source consists of Java classes • -containing null constructor … MyClass() { … } • - implementing Serializable interface • - obeying standards shown below for … • … accessor methods • … Listener registration • … Event classes Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Required Bean Rules2 of 2 • To have property myProp, include methods: <type> getMyProp(){ … } // to access myProp void setMyProp( <type> p ) // to change • For boolean property: booleanisMyProp() • Name for event classes to be XXXEvent • extends Event • Listeners must implement java.util.EventListener • Name must end in Listener as in XXXListener • added withpublic voidaddXXXListener(...) • removed withpublic voidremoveXXXListener(...) Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
JAR’ing a Bean jar cfm Bean0.jar manifest.txt Bean0.class Creating a JAR file First argument is name of the new JAR file Second argument is name of manifest file List all .class files to be included Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Adding a Bean to the BeanBox Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Bean1 Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Setting Color Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Design Goal At Work: Reusability Be able to use Chairmaker Bean alone. Avoid having it refer to any other non-API class. Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Initial Form of Properties Panel (green in color) Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Design Goal At Work: Reusability Utilize Chairmaker with TicTock events. This avoids compromising either Bean. Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Beginning to Use ChairMaker Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Setting ChairMaker to Add a Chair Leg Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
An Output Of ChairMaker Bean Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Output Of ChairMaker Bean From Button Action Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Using a Bean in an Application: Output Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Design Goal At Work: Reusability We want to associate Beans even when there is no external event such as a mouse click. Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Property Change Event Demonstration Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Property Change Event Demonstration #2 Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Bound Property Demonstration Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Key Concept: Bound Properties -- causes a Beans to react when a property in another Bean changes value.
Embedding Beans in JSP <jsp:useBean id="object name" 1 scope="page|request|session|application" 2 class="fully qualified classname" 3 </ jsp:useBean > 1 Bean instance name as in MyClass myName = …. 2 // Choose one; when instance is destroyed; optional; default is page 3// e.g., a.b.MyClass Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Scope of a Bean in a JSP • page - new object created and destroyed for every page view. • request - the newly created object created and bound to the request object. • session - the newly created object bound to the session object. -- every visitor coming to the site will have a separate session for it, so you will not have to create a new object every time for it -- can retrieve that object later again from the session object when wanted • application - object will stay as long as the application remains loaded. E.g., you want to count page views or daily sessions for your site. Source: http://stardeveloper.com:8080/articles/072001-1.shtml
Setting and Getting a Bean Property in a JSP:Introduction <jsp:setProperty name=“account17" property=“bal" value=“3211“ /> <jsp:getProperty name=“account17" property=“bal" />
Summary of This Chapter • A Java Bean is a compiled collection of Java classes and required files • JAR’d to reduce to a single file • Beans are used at various phases, often in a Bean container • Creating from scratch • Creating instances of • Connecting • Deploying as part of an application Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.