Workshop JHeadstart Productieve ontwikkeling van J2EE Applicaties Lucas Jellema AMIS 1115 Oktober 20 - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Workshop JHeadstart Productieve ontwikkeling van J2EE Applicaties Lucas Jellema AMIS 1115 Oktober 20

Description:

Projectaanpak, benodigde vaardigheden en kosten. Migraties van bestaande Oracle Applicaties ... Apache OJB, Hibernate, Castor. Zelf bouwen (nog) Geen standaard ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 40
Provided by: LucasJ6
Category:

less

Transcript and Presenter's Notes

Title: Workshop JHeadstart Productieve ontwikkeling van J2EE Applicaties Lucas Jellema AMIS 1115 Oktober 20


1
Workshop JHeadstartProductieve ontwikkeling van
J2EE ApplicatiesLucas Jellema(AMIS)11-15
Oktober 2004
2
Agenda
  • Introductie J2EE Applicatie-ontwikkeling
  • Keuzes, uitdagingen, architectuur en technologie
  • JHeadstart
  • Achtergrond, Architectuur, Technologie
  • Demonstratie VHS Applicatie
  • Projectaanpak, benodigde vaardigheden en kosten
  • Migraties van bestaande Oracle Applicaties
  • Oracle Designer en de JHeadstart Designer
    Generator
  • Agenda Workshop

3
J2EE Multi Tier Web applicaties
Application server
Browser
  • Plain HTML(static)
  • HTML from a Servlet(completely dynamic)
  • HTML from a JSP (static dynamic)

lthtmlgt
4
Plain HTML (static)
Browser
Application server
Http server
Servlet Container
File System
Html pages
Other Components
Other Components
Database server
5
Browser
HTML from a Servlet (completely dynamic)
Application server
Web server
Servlet Container
File System
Html pages
Class files
Other Components
Other Components
Database server
6
HTML from a JSP (partly static/dynamic)
Browser
Application server
Web server
Servlet Container
File System
Other Components
Other Components
Database server
7
J2EE Applicatie Architectuur
Client Tier
User Interface
HTML
Server-Side Presentation Logic
Servlet/JSP
Web Tier
Build Pages Handle User Events MaintainState
EJB, JDBC
Business Logic Tier
Business Logic
Business Objects and their Business Rules
DataTier
dbms, directory
Data
8
MVC Architectuur
Browser
  • Model represents enterprise data and its
    business rules
  • BC4J, EJB, JDBC
  • View displays data contained in the model
  • JSP, UIX/Java Server Faces, Servlet
  • Controller is the glue between View and Model.
    It reacts to significant events in the View,
    which may result in manipulation of the Model.
  • Struts, Oracle 9iAS Framework for J2EE

Controller
View
Model
database
9
J2EE en Model-View-Controller
Client Tier
User Interface
View
Controller
Web Tier
Handle User Events MaintainState
Build Pages
EJBTier
Model
Business Objects and their Business Rules
DataTier
Model
Persisted Business Objects a.k.a tables
10
Model
  • Implementaties
  • Oracle Business Components for Java
  • (Oracle) Toplink
  • Apache OJB, Hibernate, Castor
  • Zelf bouwen
  • (nog) Geen standaard
  • JDO (Java Data Objects) komt er aan
  • Onderliggend allemaal gebaseerd op JDBC
  • De persistency laag of OO/R mapping kan
    gewrapped worden in Enterprise Java Beans

Controller
View
Model
11
View
  • Implementaties
  • JSP (Java Server Pages)
  • UIX (Oracle User Interface XML)
  • Op basis van Oracle Browser Look and Feel
    Guidelines
  • Implementeert Java Server Faces (JSF)
  • XML/XSLT
  • JSP geeft grootste flexibiliteit in layout
  • UIX/JSF gericht op applicaties met veel data
    manipulatie
  • OLTP/Administratieve applicaties
  • Genereren allemaal HTML uitvoer

View
Controller
Model
12
Controller
  • Apache Struts

Controller
View
Model
13
Wat is JHeadstart?
  • Een run-time library om Controller en Model te
    laten communiceren
  • Zonder directe afhankelijkheden
  • Een ontwikkel-tool voor component-based J2EE
    applicatie ontwikkeling
  • Gebaseerd op standaard technologie (Struts, JSP,
    etc.)
  • Een hulpmiddel voor migratie van applicaties in
    Oracle Designer/Forms naar J2EE

14
JHeadstart Voordelen/Kenmerken/Ambities
  • Productiviteit
  • Bouwt op standaard frameworks
  • Runtime componenten verzorgen grondwerk
    (plumbing)
  • Declaratief ontwikkelen
  • Generatie
  • Gericht op hergebruik
  • Structuur, toegankelijkheid, kwaliteit
  • Werkt met de industrie-standaarden (JSP en
    Struts)
  • Is open voor ieder type Model-implementatie maar
    ondersteunt uit de doos BC4J en Toplink
  • Lijm tussen Controller en Model
  • Model-implementaties kunnen verwisseld of
    gecombineerd worden
  • Onervaren Java-ontwikkelaars kunnen al productief
    zijn
  • Mits begeleid door een ervaren JHeadstart
    ontwikkelaar

15
JHeadstart Architectuur en Technologie
Browser
Presen-tation
ViewJSPUIX/JSF, XML/XSLT)
Controller Struts
JHeadstart Runtime
Model BC4J Toplink, JDO,
RuleFrame
Server (9i)
Oracle RDBMS Tables/Views
16
JHeadstart afscherming Model-implementatie
View (UIX en/of JSP)
Controller (Struts)
DO
DO
DO
DO
JHeadstart Runtime Componenten
DO
Toplink Provider
XML Provider
SOAP Provider
BC4J Provider
DO
klant
film
drager
genre
review
ltxmlgt ltdomainsgt ltgenregt ...
lt/genregt lt/domainsgt
(Oracle) RDBMS
VHS_FILMS
VHS_KLANTEN
XML Document(s)
Web Service(s)
Databases
17
JHeadstart wat zit er in de doos?
  • JHeadstart bestaat uit vijf hoofdcomponenten
  • Applicatie generator (JAG)
  • Design Time tools
  • JHeadstart Designer Generator (JDG)
  • Documentatie (tutorials, JavaAPIDoc, developers
    guide)
  • Run-time componenten (inclusief sources)
  • Herbruikbare Actions
  • JavaScript libraries
  • Templates en Stylesheets
  • Herbruikbare JSP componenten (Kalender, Editor
    etc.)

18
Aanpak J2EE Application Development(met
JHeadstart)
  • Model
  • Object/Relational Mapping van Tables naar
    Classes
  • Java interface voor data manipulatie
  • Java Classes die de applicatie kan aanroepen om
    data te zoeken, te bewaren of te verwijderen uit
    de database
  • Bijvoorbeeld Toplink, BC4J, JDO of handmatig op
    basis van JDBC
  • Optioneel (voor gedistribueerde deployment) EJBs

19
Aanpak J2EE Application Development(met
JHeadstart)
  • View/Controller
  • Definieer structuur van de applicatie (schermen,
    data-manipulatie, navigatie,)
  • Definieer de eigenschappen van data-elementen
  • (lengte, prompt, datatype, displaytype,
    select-lijst met domein-waarden, hint-tekst)
  • Genereer de applicatie met JHeadstart
  • Pas zo nodig de gegenereerde applicatie aan
  • Deploy op een J2EE Applicatie Server

20
Videotheek Huur Systeem (VHS) Demo
21
Voorbeeld Pagina Ontwerp VHS Demo Applicatie
DataObject Films DML Ins Upd Del Max 8
records Sorteren kolom 1 3
Zoeken op Titel, jaar(range), genre, regisseur,
waardering, leeftijd-categorie, cast
Zoek Films
Films
details
ltlt gtgt
col
col
col
col
col
o
o
o
o
zoek
nieuw
DataObject Dragers DML Ins Upd Del Sorteren
kolom 1 2 Table Disclosure
DataObject FilmLeningen DML none (readonly) Max
4 records Sorteren alle kolommen
opslaan
film
dragers
leningen
film
dragers
leningen
film
dragers
leningen
Film Details
Film Kopieën
Leningen
details
col
col
col
col
col
ltlt gtgt
o
o
col
col
col
col
col
o
o
o
o
o
o
opslaan
verwijder
nieuw
opslaan
verwijder
nieuw
film
dragers
leningen
Lening Details
opslaan
verwijder
nieuw
22
Demo Rapid Application Development met JHeadstart
23
Wat wordt gegenereerd?
  • Controller configuratie
  • Struts-config.xml
  • UIX of JSP paginas
  • Op basis van stylesheets, templates en JavaScript
    libraries
  • Resource Bundels
  • Meertalige scherm-teksten
  • Koppeling Controller/View en Model

24
VHS Scherm na aanpassingen
25
JHeadstart Designer Generator (JDG)
  • De JDG
  • Leest domein-, tabel- en module-definitie in
    Oracle Designer (6i of 9i)
  • Creëert in JDeveloper BC4J objecten (Entity
    Objects, View Objects) inclusief JHeadstart
    properties
  • Genereert de JHeadstart Application
    Structure-file en Domain Definitions file
  • Waarvoor gebruik je hem
  • Eenmalige migratie
  • Herhaalde generatie
  • vooral als modules zowel met Oracle (Web)Forms of
    Web PL/SQL toolkit als ook met J2EE deployed
    worden

26
JHeadstart Designer Generator
Oracle Forms
Design capture
Oracle Designer
Controller Struts
View JSP (UIX)
Model - BC4J
27
Demo JDG
  • AMIS Library System
  • Applicatie voor het beheer van onze
    boekencollectie
  • Gedefinieerd in Oracle Designer
  • Gegenereerd als Oracle Forms applicatie
  • Nu Migreren naar/Genereren als J2EE applicatie

28
Beperkingen JDG
  • Het resultaat (HTML/J2EE) ziet er anders uit dan
    de (Web)Forms applicatie
  • Applicatie Logica (PL/SQL) is niet meegenomen
  • Boilerplate items (plaatjes, lijnen) komen niet
    mee
  • Onderhevig aan beperkingen van HTML ten opzichte
    van Forms
  • Stateless (geen open verbinding met de Database)

29
Hybrid Development Approach
Model
Controller
View
Analysis DesignBuild
ER Model
Function Model
Design Build
30
Vereisten om met JHeadstart te werken
  • Development
  • Wizards en Generator zijn geïntegreerd met Oracle
    10g JDeveloper (9.0.5.x)
  • Een versie voor 10gR2 JDeveloper en ADF wordt
    eind november 2004 verwacht
  • Run-time willekeurige J2EE Applicatie Server
  • o.a. Oracle 9iAS, Tomcat, WebSphere, BEA WebLogic
  • Ontwikkelaar-licentie 1750 geen runtime
    licentie

31
Tools en Vaardigheden
  • Ontwikkeltools
  • Oracle 10g JDeveloper (BC4J, UIX, JSP, Struts)
  • Oracle 9i Designer
  • Apache frameworks (Struts, Ant, JUnit)
  • Vaardigheden
  • Ontwerpers HTML, stateless, (beetje) OO en UML
  • Basis Java programmeren
  • HTML, CSS en JavaScript (met name View)
  • J2EE Servlets en Struts (met name Controller)
  • JDBC, BC4J, Toplink SQL (met name Model)

32
Geavanceerde opties met JHeadstart
  • Meer geavanceerde generatie-mogelijkheden
  • File Upload en Download, Images
  • Verdere ondersteuning van Model-implementaties
  • BC4J, Toplink, XML, WebServices, JDO, Beans
  • Ondersteuning voor Wizard layout-style
  • Ondersteuning voor XML Export en generatie van
    SVG (Scalable Vector Graphics) en PDF
  • Ondersteuning van Struts Tiles framework en Java
    Server Faces
  • Aansluiting/migratie naar ADF (Oracle 10g
    JDeveloper Application Development Framework)

33
Conclusies
  • JHeadstart biedt productiviteit voor applicatie
    ontwikkeling volgens J2EE standaarden
  • ook flexibele Model-implementatie, structuur,
    onderhoudbaarheid,
  • JHeadstart applicaties staan los van Oracle
    specifieke tools
  • JHeadstart maakt een gemakkelijke(r) instap voor
    ontwikkelaars mogelijk in J2EE technologie
  • JHeadstart ondersteunt generatie van Model en
    View/Controller componenten vanuit Oracle
    Designer 6i/9i
  • JHeadstart ondersteunt bij de migratie van Oracle
    Designer/Oracle Forms modules

34
Resources
  • AMIS Technology Corner
  • http//www.amis.nl/technology
  • Oracle Technology Network
  • JHeadstart homepage http//otn.oracle.com/consult
    ing/9iServices/JHeadstart2.html
  • JHeadstart Discussion Forumhttp//forums.oracle.
    com/forums/forum.jsp?forum38
  • Oracle 9i JDeveloper, Toplink Business
    Components for Java (BC4J), UIX BLAF
  • Apache Jakarta Projects
  • Struts
  • Sun Javasoft
  • JSP, JSF

35
Workshop Agenda
  • Introductie
  • Generatie met JHeadstart (BC4J, JSP, Struts)
  • Specificeren LookFeel JSP applicaties
  • Customization JSP applicaties
  • Gebruik van Struts binnen JHeadstart
  • Ontwikkeling custom-navigatie en custom actions
  • Introductie JHeadstart Generator Extensies
  • UIX als View technologie
  • Specificeren lookfeel van UIX applicaties
  • Geavanceerdere functionaliteit
  • recepten en tutorials
  • JHeadstart Designer Generator
  • Preview ADF JHeadstart

36
(No Transcript)
37
(No Transcript)
38
(No Transcript)
39
Praktische details
  • Workshoptijden
  • 09.00-17.00
  • Lunch ca. 12.30-13.15
  • Inloggen
  • XP gast/welkom123
  • Database als/als_at_ludo (host amisnt15)
  • Koffie/thee/frisdrank is zelfbediening
Write a Comment
User Comments (0)
About PowerShow.com