Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development...

34
© 2015 Spazio IT - Soluzioni Informatiche s.a.s. 1 August 2015 Spazio IT – Web Application Development Spazio IT Web Application Development Maurizio Martignano Spazio IT Soluzioni Informatiche s.a.s Via Manzoni 40 46030 San Giorgio di Mantova, Mantova http://www.spazioit.com

Transcript of Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development...

Page 1: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 2: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 3: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

3

I am an old guy…

I am an old guy…

Page 4: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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.

Page 5: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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)

Page 6: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

6

Principles

August 2015

(Web)

App

Dev

Page 7: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 8: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 9: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 10: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 11: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 12: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

12

Selected Platform

August 2015

Selected

Platform

Page 13: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 14: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 15: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 16: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

16

Web Applications (JSF)

August 2015

Page 17: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

17

CGI Architecture

August 2015

Page 18: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

18

Servlet Architecture

August 2015

Page 19: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

19

Servlet Architecture

August 2015

Page 20: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

20

JSF Architecture

August 2015

Page 21: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

21

Oracle ADF

August 2015

Page 22: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 23: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

23

Oracle ADF

August 2015

Page 24: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 25: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

25

Oracle ADF

August 2015

Page 26: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

26

Oracle ADF

August 2015

Application Data Control

&

DataViews

Page 27: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 28: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 29: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

29

Example Application

August 2015

Hands on…

Page 30: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

30

Example Application

August 2015

Data First

Page 31: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 32: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 33: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 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

Page 34: Spazio IT Web Application Development...Spazio IT has selected Oracle’s Application Development Framework (Oracle ADF) as the preferred development environment for implementing its

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

34

The End – Thank You

August 2015