Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development...
Transcript of Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development...
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
1August 2015
Spazio IT – Web Application
Development
Spazio ITWeb ApplicationDevelopment
Maurizio Martignano
Spazio IT – Soluzioni Informatiche s.a.s
Via Manzoni 40
46030 San Giorgio di Mantova, Mantova
http://www.spazioit.com
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
2
Agenda
I am an old guy…
Principles
Selected Platform
Web Applications
Oracle ADF
Example Application
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
3
I am an old guy…
I am an old guy…
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
4
I am an old guy…
GNU-based Compilation Systems for Spacecraft Microprocessorsby M Martignano – 1997GNAT (GNU New York University Ada Translator is an Ada95 front-end for the .... tools, contact Maurizio Martignano, ESTEC/WM [email protected].
ada-france : Message: Re: oo: Multiple Inheritance in AdaAug 7, 1998 – ada-france: ada-france. ... message). As Maurizio Martignano said in a previous message, using inheritance and multi-inheritance can always ...
From ESA C++ Coding Standard PrefaceThe BSSC wishes to thank the Analysis and Verification Section (TOS-MCV) of the European Space Research and Technology Centre (ESTEC), Noordwijk, The Netherlands, and in particular Duncan Gibson, as well as the Software Engineering and Standardisation section (TOS-EME) and in particular Maurizio Martignano, for preparing the standard.
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
5
I am an old guy…
From 1997 to 2007 I have been giving courses on Object Oriented Design (mostly Java and UML) and Real Time Systems (mostly SPARK and Ravenscar) at the European Space Agency
I am a Java software developer certified by Jive Software (http://www.jivesoftware.com/) and Oracle Middleware (http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html -http://www.spazioit.com/pages_en/sol_inf_en/oracle_adf_en/)
I am “currently” (2012-2015) setting up Software Quality Platforms for AIRBUS Helicopters (http://www.airbushelicopters.com) and ESA (http://www.esa.int).
I have been and still am working on some open source projects (e.g. ]project-open[ - http://www.project-open.org/en/list_partners)
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
6
Principles
August 2015
(Web)
App
Dev
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
7
Principles
We are not Microsoft (nor Oracle, whatever…).We do not have the strength, the capability, the know-how, the experience required to build, set-up and configure a proper (web) application development environment (unless of course we want to put an enormous amount of energy into it).
It is better to use a consolidate, corporate level, web application development framework.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
8
Principles
We are not Microsoft (nor Oracle, whatever…).We do not have the strength, the capability, the know-how, the experience required to follow in a productive way the continuous evolution of Web technologies (e.g. what should we use for comms? XML? Json? MessagePack?).
It is better to let the developer of the selected web application framework to take care of the evolution of such technologies.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
9
Principles
User Interface
– Monotony and uniformity are good (e.g. all the pages must have the same structure, all the functions must share the same type of user interaction, and so on…).
– Minimalism is good.
– No deviation whatsoever from what is provided by the selected framework.
– Possibly an eye should be kept to both the desktop and the mobile targets.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
10
Principles
In selecting the appropriate web development framework, corporate level solutions should be preferred over solutions developed by small communities, single developers, etc…
E.g.
– Oracle ADF –http://www.oracle.com/technetwork/developer-tools/adf/overview/index.html
– OpenACS – http://www.openacs.org
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
11
Principles
The selected framework preferably should support both Windows and GNU/Linux.
Selecting a web development framework is not «having a date»; quite the opposite, it is «getting married».
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
12
Selected Platform
August 2015
Selected
Platform
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
13
Selected Platform
Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its Web applications.In particular the run-time platform selected by Spazio IT consists of the following open source components:
– Oracle ADF Essentials (Oracle ADF)
– GlassFish Server Open Source Edition(Web/Application Server)
– Dababase Management System
• Preferred - MySQL
• Supported - PostgreSQL
– Java EE (Programming Language) August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
14
Selected Platform
August 2015
OS (any)
Oracle DB
Oracle ADF
Oracle WebLogic
Spazio IT – Web App
Oracle - JDeveloper
OS (any)
MySQL
Oracle ADF - Essential
Oracle Glassfish OSE
Spazio IT – Web App
Oracle - JDeveloper
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
15
Selected Platform
Oracle JDeveloper 11.1.2.3 12c
Oracle ADF Essentials 11.1.2.3 12.1.2.0
GlassFish Server Open Source Edition 3.1.2.2 4.0
MySQL 5.6.x
PostgreSQL 9.3.1 9.4.x
Java 1.7.0_x 1.8.x
Talend 5.3.1 6.x
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
16
Web Applications (JSF)
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
17
CGI Architecture
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
18
Servlet Architecture
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
19
Servlet Architecture
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
20
JSF Architecture
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
21
Oracle ADF
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
22
Oracle ADF
Oracle ADF Documentation can be found at http://www.oracle.com/technetwork/developer-tools/adf/overview/index.html.
In particular reading the overview at http://www.oracle.com/technetwork/developer-tools/adf/adf-11-overview-1-129504.pdf could be a major time saving factor.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
23
Oracle ADF
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
24
Oracle ADF
August 2015
MVC
Architecture
OS (any)
PostgreSQL
Oracle ADF - Essential
Oracle Glassfish OSE
Spazio IT – Web App
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
25
Oracle ADF
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
26
Oracle ADF
August 2015
Application Data Control
&
DataViews
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
27
Oracle ADF
Mandatory Topics– JSF Pages
– Fusion Page Life Cycle (when do things occur on who does what)
– Oracle ADF Managed Beans (at application, session and request level)
– Expression Language
– (Client/Server) Events Handling
– Page Flows
– Ajax and Partial Page Refresh
– Application Deployment
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
28
Oracle ADF
Advanced Topics
– Fusion Page Life Cycle
– How to inject SQL queries / dml into the application without the control of the framework
– Automata
– Things to know/do to make PostgreSQL usable with Oracle ADF
– «TABLE»_IMPL & «TABLEVIEW»_IMPL
– Simple Security Model
– Internationalization
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
29
Example Application
August 2015
Hands on…
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
30
Example Application
August 2015
Data First
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
31
Example Application
Class Tasks
– Create a new Fusion Web Application (Oracle ADF).
– Connect to the Database.
– Create the Model and the Data Control.
– Create two JSF pages (“animal” and “pet”) with the related tables inside.
– Deploy the application to Glassfish.
– Have the two pages showing in a browser.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
32
Example Application
Homework (0)
– Redo once again on your systems what has been done during the training session.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
33
Example Application
Homework (1)
– Add the Insert/Delete/Commit buttons to the two pages
– Create a Login and a Home Page. The login page is the first and only page the users can have access to; upon successful login (user name and password can be embedded in the code) the users are directed to the home page. In the home page there’s a menu allowing the user to go either to the Animal page or to the Pet page.
– Remove the id* key fields from the pages and create the required «TABLE»_IMPL methods for both tables .
– Change the Animal_idAnimal in the Pet view/page with a list of values.
– Add a field (version - varchar(45)) to both tables.
August 2015
© 2015 Spazio IT - Soluzioni Informatiche s.a.s.
34
The End – Thank You
August 2015