120 likes | 142 Views
WebObjects. Matt Aguirre Lally Singh. What Is It?. A Java based development platform specifically designed for database-backed web applications. What Does It Have?. Scalability: built in load balancing among a dynamically configurable set of servers
E N D
WebObjects Matt Aguirre Lally Singh
What Is It? A Java based development platform specifically designed for database-backed web applications.
What Does It Have? • Scalability: built in load balancing among a dynamically configurable set of servers • Industry standards support: JSP/J2EE/JNDI support built in • Multiple client type support: Web Browser, Java Client Application, XML, SMIL, WAP… • Easy extensibility: add new web components for immediate reuse.
Web Components • Three Parts: • HTML file • Bindings file • Java code • Embeddable within themselves: follows the Composite design pattern • Embeddable within JSP pages • Communicate to each other & Enterprise Objects (EOs) through Key-Value coding
Example Web Component • A simple form containing two items: a textbox and a submit button • User hits ‘Submit’ and the name is shown in System.out. • Not very useful
The HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META NAME="generator" CONTENT="WebObjects 5"> <TITLE>Untitled</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> <webobject name=Form1>Sample Form <p>Name: <webobject name=TextField1></webobject></p> <p><webobject name=SubmitButton1></webobject></p> </webobject> </BODY> </HTML>
The Bindings Form1: WOForm { } SubmitButton1: WOSubmitButton { action = submit; } TextField1: WOTextField { value = name; }
The Java File public class Main extends WOComponent { protected String name; public Main(WOContext context) { super(context); name = new String(); } public WOComponent submit() { System.out.println("name="+name); return null; // default - means we go back to same page } }
What Happens? • When the page is requested, the value for name is taken from the Component’s instance via Key-Value Coding • The page is displayed to the user • The user types in something into the textbox • The user hits submit • WO updates the value of name with what the user put in the textbox • WO then calls Main’s submit() method • submit() prints out the string the user typed in
Key Value Coding • A method to access data in classes without relying on their interfaces • Implemented through the KeyValueCoding Java interface • The default implementation scans through reflection. • Ex: to set the key foo, the following will be checked in order: