Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | myrtle-welch |
View: | 215 times |
Download: | 1 times |
Fall 2007 http://www.cis.ksu.edu 1
CIS 764 Database Systems Engineering
L7. ADF + EJB
Context: Oracle Application Development Framework …but … only EJB homework for now.
Fall 2007 http://www.cis.ksu.edu 2
CIS 764 Database Systems Engineering
Oracle Fusion http://en.wikipedia.org/wiki/Oracle_Fusion_Middleware … the whole middleware suite … application server (including OC4J) BEPL manager (business process execution language) business rules system messaging service ADF <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< JDeveloper Toplink Forms services Business Intelligence tools (monitoring, mining, analysis) Portal & portlets Identity & single sign-on … others.. the integration of eBus components (as PeopleSoft) into a SOA.
Fall 2007 http://www.cis.ksu.edu 3
CIS 764 Database Systems Engineering
eWeek.com January 19, 2006
“ The lack of detail in Oracle's Fusion Application presentation suggests to some industry experts that the company is not at the halfway point in developing a merged suite. “
Fall 2007 http://www.cis.ksu.edu 4
CIS 764 Database Systems Engineering
ADF http://en.wikipedia.org/wiki/Oracle_Application_Development_Framework included in JDev, ADF is the conceptual model, components, and wizards
possible model components: EJB, WebService, TopLink, ADF_business_components controller: Struts, JSF (Java Server Faces) view: Swing, JSP, JSF
all components conf via XML, for easy reconfig, reuse.
Fall 2007 http://www.cis.ksu.edu 5
CIS 764 Database Systems Engineering
ADF Index Page http://www.oracle.com/technology/products/adf/index.html
ADF Overview, http://www.oracle.com/technology/products/jdev/collateral/ papers/1013/adf_10.1.3_overview.pdf 11 pages, 2006
Fall 2007 http://www.cis.ksu.edu 6
CIS 764 Database Systems Engineering
Fall 2007 http://www.cis.ksu.edu 7
CIS 764 Database Systems Engineering
Fall 2007 http://www.cis.ksu.edu 8
CIS 764 Database Systems Engineering
GUI components
Swing … only in Java apps (not in server)
JSP ….. Weak components (button, form ),
not automated data binding.
JSF …. Web components , w data binding .
ADF Faces … Oracle’s own extensions of JSF
and with DB binding for use in apps.
Fall 2007 http://www.cis.ksu.edu 9
CIS 764 Database Systems Engineering
http://www.oracle.com/technology/products/adf/learnadf.html
ADF Learning Center: two tracks:
* IDE Fusion … JSF, ADF Faces, ADF Model, ADF Business Components http://www.oracle.com/technology/products/jdev/viewlets/1013/ ADF_Overview_Viewlet_viewlet_swf.html an animation and SC example
* Java programmer…. JSF, ADF Faces ,ADF Model , EJB3.0, TopLink
Fall 2007 http://www.cis.ksu.edu 10
CIS 764 Database Systems Engineering
http://www.oracle.com/technology/obe/ADF_tutorial_1013/ADF_tutorial.pdf 170 pp … pdf for sample application, ServiceCompany .. Service requests for large appliances
http://www.oracle.com/technology/obe/ADF_tutorial_1013/index.htm index page for the following:
http://www.oracle.com/technology/products/jdev/samples/srdemo.html completed SC demo web app (required JUnit extension to JDev)
http://download.oracle.com/otn_hosted_doc/jdeveloper/1013/adfdevguide.pdf 674 pp ADF guide !
Fall 2007 http://www.cis.ksu.edu 11
CIS 764 Database Systems Engineering
Assignment: just listen to the following
Steve Muench , ADF weblog
http://radio.weblogs.com/0118231/stories/2005/06/24/jdeveloperAdfScreencasts.html
Select #4: ( animated demo w audio)Creating a Databound, Master/Detail Swing Panel Using JGoodies Form Layout http://www.oracle.com/technology/products/jdev/tips/muench/screencasts/simplejgoodies/binding_demo.html?_template=/ocom/ocom_item_templates/print
Fall 2007 http://www.cis.ksu.edu 12
CIS 764 Database Systems Engineering
EJB3 POJO + Annotations => EJB
EJB 3.0 Resources http://www.oracle.com/technology/tech/java/ejb30.html
Introduction: http://www.oracle.com/technology/tech/java/newto/introejb.htm
or Java World: (has more code examples) http://www.javaworld.com/javaworld/jw-08-2004/jw-0809-ejb.html
Fall 2007 http://www.cis.ksu.edu 13
CIS 764 Database Systems Engineering
Entity bean … bound to entity data, with unique key value; can contain multiple subitems.
where is the concept of a result set ?
Session bean … “session beans generally represent actions …” << bad OO ! “process entity” vs “data entity” Stateless … “do not have internal state” ( ) … rather: do not keep track of the callers state !
Statefull …..maintains the conversation state across multiple method invocations (e.g. a shopping cart)
Beans have an associated deployment descriptor Beans have own QL … “OO version of sql “
Fall 2007 http://www.cis.ksu.edu 14
CIS 764 Database Systems Engineering
EJB annotations http://www.fnogol.de/archives/2005/05/13/ejb-30-annotations-cheat-sheet/
Fall 2007 http://www.cis.ksu.edu 15
CIS 764 Database Systems Engineering
Fall 2007 http://www.cis.ksu.edu 16
CIS 764 Database Systems Engineering
import javax.ejb.Stateless.*; @Stateless(name="CalculateEJB")public class CalculateEJBBean implements CalculateEJB{ int value = 0;
public String incrementValue() { value++; return "value incremented by 1"; }}
Fall 2007 http://www.cis.ksu.edu 17
CIS 764 Database Systems Engineering
import javax.persistence.*;import java.util.ArrayList;import java.util.Collection;
@Entity@Table(name = "EMPLOYEES")public class Employee implements java.io.Serializable{ private int empId; private String eName; private double sal;
@Id@Column(name="EMPNO", primaryKey=true)
/* getters and setters here … see next slide
}
Fall 2007 http://www.cis.ksu.edu 18
CIS 764 Database Systems Engineering
public int getEmpId( ) { return empId; }public void setEmpId(int empId) { this.empId = empId; }
public String getEname( ) { return eName; }public void setEname(String eName) { this.eName = eName; }
public double getSal( ) { return sal; }public void setSal(double sal) { this.sal = sal; }
public String toString(){ StringBuffer buf = new StringBuffer(); buf.append("Class:").append(this.getClass(). getName()).append(" :: ").append(" empId:").append(getEmpId()). append(" ename:").append(getEname()).append("sal:").append(getSal()); return buf.toString();}
??? Why the toString method <<<<<<<<<<<<<<<<??? Why ArrayList and Collection
Fall 2007 http://www.cis.ksu.edu 19
CIS 764 Database Systems Engineering
import javax.naming.Context;import javax.naming.InitialContext;
public class CalculateejbClient { public static void main(String [] args) { Context context = new InitialContext(); CalculateEJB myejb = (CalculateEJB)context.lookup("java:comp/env/ejb/CalculateEJB"); myejb.incrementValue(); }}
??? Where does this “client” run ??
Fall 2007 http://www.cis.ksu.edu 20
CIS 764 Database Systems Engineering
Homework:
Oracle EJB3 Simple Tutorial http://www.oracle.com/technology/obe/obe1013jdev/10131/10131_ejb_30/ejb_30.htm
Do an “in essence” version for the PO DB.
Note: this is not a web app. The client has remote access to the bean. Post snapshots in JDev and running the client.
Fall 2007 http://www.cis.ksu.edu 21
CIS 764 Database Systems Engineering
Note: Future requirements:
Contribute some tutorial content …
Contribute some technical presentation ….
… prior approval of topics is required.
Fall 2007 http://www.cis.ksu.edu 22
CIS 764 Database Systems Engineering
end.