Discussieavond Architectuuroplossingen
Discussie-avond Architectuuroplossingen
met/dankzij/rondom Java
Lucas JellemaAMIS
Discussieavond Architectuuroplossingen
Discussieavond Architectuuroplossingen
Discussieavond Architectuuroplossingen
Discussieavond Architectuuroplossingen
Oracle Forms
APEX
Java
.Net
ADF
Ruby, Groovy, Scala
Discussieavond Architectuuroplossingen
Applicatie Architectuur
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
Discussieavond Architectuuroplossingen
Applicatie Architectuur
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
Discussieavond Architectuuroplossingen
Forms
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
Discussieavond Architectuuroplossingen
APEX
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
APEX 4.0 Listener
Discussieavond Architectuuroplossingen
.NET
Data
ADO.NET
ASP.NET, VB.NET
Browser
Discussieavond Architectuuroplossingen
Java/J(2)EE
Data
Model:ORM/PersistencyJPA, EJB, Toplink, Hibernate
View: Servlet, JSP, JSF(Applet/JavaFX)
Browser
Controller: Struts, JSF
Discussieavond Architectuuroplossingen
ADF - Application Development Framework
Data
Model: ADF Model & Data Binding
View: ADF Faces (JSF)
Browser
Controller: ADFc
ORM: ADF BC, JPA (EclipseLink)
Discussieavond Architectuuroplossingen
AJAX/Web 2.0 Architectuur
Data
Business Tier
“User Interface” TierREST Services: JSON, XML
BrowserHTML/CSS/JavaScript (DHTML)
jQuery/Dojo/Google MapsFlash/Silverlight/JavaFX
Discussieavond Architectuuroplossingen
Revolutie in Applicatie Architectuur
Data
Business Tier
User Interface Tier
Browser
Reusable componentsModularizationAgilityCOTS/BoBCustomization/PersonalizationDashboard/Portal
Discussieavond Architectuuroplossingen
Revolutie in Applicatie Architectuur
Business Tier
Browser Application
Browser
Delivery KanalenGebruikersgroepenHeterogene Data BronnenProcess/Workflow Active (push)Data Visualization
Native Mobile App
Desktop (Excel) Integrated
B2B Web ServiceBrowser
Application
Browser Application
Browser Application
WorkflowEngine
EmailIM
Fax CMS DataData
Web
Services
yPhone/PDA/xPAD Desktop Applications
Discussieavond Architectuuroplossingen
Revolutie in Applicatie Architectuur
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
DataVarious Data Sources…
NO SQL
Discussieavond Architectuuroplossingen
Revolutie in Applicatie Architectuur
Data
Business Tier[van data(base) naar applicatie vv.]
User Interface Tier[van applicatie naar gebruiker vv.]
Browser
Data
SaaSCloudCache & NOSQL (“super search”)
Discussieavond Architectuuroplossingen
SOA across the cloud: data & operations
18
SaaS A
SaaS B
App D App C
CMS
WorkflowEngine
EmailIM
Fax
ValidationService
Service API
Service API Service APIRSS
internalinternet
listenerregistration
service dependencyinjection
LDAP
Export
Service API
CMS
Social API
Discussieavond Architectuuroplossingen
SOA across the cloud: UI / Navigation / Process/Presentation
19
SaaS A
SaaS B
App D App C
CMS
WorkflowEngine
EmailIM
Fax
Portlet API Portlet APIRSS
Deep linkInterface
CMS
internalinternet
Deep linkInterface
Portlet API Portlet API
ToDo
RSS
RSS
News
HTMLPages
Social API
Discussieavond Architectuuroplossingen
Wat is ADF ?• Oracle’s Application Development Framework
– Voor declaratief, visueel ontwikkelen– Gebaseerd op Java en JEE standaarden– Run-time is WebLogic 11g– Geevolueerd vanuit BC4J (1999)
• Huidige release is 11g (oktober 2008)
Discussieavond Architectuuroplossingen
Chronologie van Technologie
20102000
Designer/2000Developer/2000
20051995
WebForms 6.0Designer 6i
Forms 11g
Headstart CDM RuleFrame
BPEL, Human Task, ESB SOA Suite 11g
WebCenter
JDeveloper BC4J UIX ADF ADF FacesJHeadstart 9i
JavaServer Faces (JSF)Java Persistence API (JPA)
JSPServlet
ADF 11gJHeadstart 11g
APEX 4.0Marvel HTML DB APEXWeb PL/SQL Toolkit
MOD_PLSQLWebDB Portal
JEE5 JEE6J2EE 1.2JDBC
11g R211gOracle7 8.0 8i 9i 10g 10g R2
EJB
XDK XMLDB
Discussieavond Architectuuroplossingen
Waarom heeft Oracle ADF?
• Ontwikkeling van Fusion Applications– Onderdelen van andere ERP systemen (EBS,
Siebel, PeopleSoft,…)– User interfaces van andere producten (BI EE, FMW
Enterprise Manager, Human Task UI voor BPM en SOA Suite, …)
• Check in the box bij sales-cycli WebLogic en andere Middleware producten (en Database?)
• Om (Forms?) klanten van dienst te zijn??
Discussieavond Architectuuroplossingen
ADF Bindings (JSR 227)
Relational DataXML data
Legacy data
Packaged Apps
Met
adat
a Se
rvic
es (M
DS)
EJB
JPA
Java BAM Web Services
CMS
Essbase Portlets
Struts JSF/ADF Task Flow
JSP JSF ADF Faces / DVTSwing Office View
Controller
Model
Business Services
Data Services
ADFbc
Content repository
Mobile
Discussieavond Architectuuroplossingen
Relatieve Analyse ADF(maar ten opzicht waarvan?)
Sterke punten ADF• Integratie met Database,
Oracle SQL en PL/SQL• Productief door declaratief
ontwikkelen en ingebouwde functionaliteit framework
• Visueel rijk, aantrekkelijk• Integratie met Web
Services, SOA Suite, CMS,…• Ontkoppelde architectuur
met reusable componenten• Built-in Customization
Zwakke(re) punten ADF• Proprietary• Positie in de markt
– Marktaandeel JDeveloper
• Complexiteit van run-time infrastructuur– No easy cloud deployment
• Niet goed in pixel-perfect• Complexiteit ontwikkelen
– ‘enterprise applicaties’
• Matige integratie REST, Flash & FX, Scala, jQuery
Discussieavond Architectuuroplossingen
Thema’s voor nabije toekomst
• Devices (mobiel,…) & Real-time (anytime, anywhere)• Self service en nieuwe gebruikersgroepen• Meer applicatie flexibiliteit & business agility
– Reuse, service orientatie
• Heterogene business services & Unstructured Data• In Memory Cache• B2B & A2A integratie (Web Service APIs) • SaaS implementatie & Cloud deployment• Data visualisatie, HTML 5,