(AIOP)

Transcription

(AIOP)
INTERNET
APPLICATION AND
INTEROPERABILITY
(AIOP)
Clement Jonquet – 2013
jonquet@lirmm.fr
1
IG5 2012 – AIOP – Clement Jonquet
Introduction
TO BE ON THE WEB OR NOT TO BE
 It’s
impossible to imagine a serious business
without at least a basic Web presence
 Even
individuals are now on the Web 2.0
 As
future engineers, we’re
going to look into how building
new application for
companies and people to be
on the Web
IG5 2012 – AIOP – Clement Jonquet
2
Introduction
FROM WEB PAGES TO WEB APPS (1/2)

Big difference btw a bunch of web pages and
a web site




Content-related concerns (thematic consistency)
Aesthetic concerns (common look & feel)
Architectural concerns (handle complexity)
The dynamic web


Information resources are not static documents
anymore
A Web app presents dynamically tailored content
based on request parameters, user behaviors and
security
IG5 2012 – AIOP – Clement Jonquet
3
Introduction
FROM WEB PAGES TO WEB APPS (2/2)
IG5 2012 – AIOP – Clement Jonquet
4
Introduction

All Web app could be abstracted to those 3 layers

The architecture determines the different types of layers and
their interactions

Designing the architecture is the role of the software architect
IG5 2012 – AIOP – Clement Jonquet
5
Introduction
INTEROPERABILITY (1/2)

The ability of two or more software components to cooperate
despite differences in language, interface, and execution
platform [P. Wegner 96].

Interface standardization: map client and server interfaces to
a common representation




more scalable: m client and n servers require only m+n maps to a
standard interface
common properties of interfaces: reducing the mapping task, and
it separates communication models of clients from those of servers
preclude supporting new language features not considered at the
time of standardization
Interface bridging: two-way map between client and server


m*n maps
more flexible: tailored to the requirements of particular clients and
servers
IG5 2012 – AIOP – Clement Jonquet
6
Introduction
INTEROPERABILITY (2/2)

Property of a product or system, whose interfaces
are completely understood, to work with other
products or systems

Syntactic
 capable of communicating and exchanging data…
data formats, communication protocols e.g., XML or
SQL
Semantic
 ability to automatically interpret the information
exchanged meaningfully and accurately 
common information exchange reference model


Interoperation ≠ Integration
IG5 2012 – AIOP – Clement Jonquet
7
Introduction
CLASS OBJECTIVES
 Understand
general principles to properly
design and develop web applications

core protocols & languages
 Get

a clue about the technologies involved
client & server sides
 Understand
they are

why things are as
to understand and reproduce
architectural choices
IG5 2012 – AIOP – Clement Jonquet
8
Introduction
CLASS OVERVIEW (# OF HOURS)
A.
B.
C.
D.
E.
F.
G.
H.
I.
Internet & the Web (4h)
Web Application Architecture Models (4h)
Web Application Technologies (3h)
Service-Oriented Architecture Principles (2h)
Web Service Technologies (2h)
Microsoft .NET Framework (3h)
Java Enterprise Edition Framework (3h)
Mobile Web Application (3h)
Future Web Application (3h)
IG5 2012 – AIOP – Clement Jonquet
9
Introduction
CLASS ORGANIZATION

9 lectures (27h)

3 interventions




3 technical sessions (3h)



.NET: F. Gil & S. Aiguillon (3h)
JEE: C. Roume & C. Jonquet (6h)
4 working group sessions (4h)




.NET technologies: Franck Gil (Odyssey Services)
JEE technologies: Cyril Roume (DSI La Poste)
Mobile Web Applications: Christophe Fiorio (Polytech)
With C. Jonquet
2 sessions with Geraldine Zegre (testing)
1 final development project in 6-7-person group
1 project defense (1h/group)
IG5 2012 – AIOP – Clement Jonquet
10
Introduction
SCHEDULE

Monday & Wednesday afternoons

.NET technologies



JEE technologies



30/09 & 04/10 (lectures)
7/10 & 09/10 (technical sessions)
02/10 (lecture)
7/10 & 9/10 (technical sessions)
The rest with me

Google Calendar & ADE
IG5 2012 – AIOP – Clement Jonquet
11
Introduction
DEVELOPMENT PROJECT (1/2)

Idea: re-use the subject & outputs of your
“transversal” software development project in IG4
 do not spend design time twice
 re-use most of the business logic

Concentrate on the Web aspects & technologies to
build a Web application
 architecture, users roles, Web access and UIs,
multiple clients, etc.
 more spec to come…

Topic: management of resources (planning,
activities, students, teachers) for the university
IG5 2012 – AIOP – Clement Jonquet
12
Introduction
DEVELOPMENT PROJECT (2/2)

Work within 6-7-person group

Change IG4 group or not (up to you)

Kick-off: Wednesday October 16th

6 weeks long (including the holyday week!)





Deliverables:



4 brainstorming session
1 session (21/10 or 4/11) with G. Zegre (Test des SI)
Monday afternoons (2pm-6pm)
Group by group
Short meeting minutes
Report (in English)
Defense: Friday November 23rd (in English)

C. Fiorio, C. Seguin & C. Jonquet
IG5 2012 – AIOP – Clement Jonquet
13
Introduction
ONLINE RESOURCES

http://mon.univmontp2.fr/claroline/course/index.php?cid=P1S911

You will find there:






Description, agenda, announcements...
Web forum... for questions and threads for everyone
Class documents (PDF)
Project description and submission site
Deliverables to submit
Project evaluation results
IG5 2012 – AIOP – Clement Jonquet
14
Introduction
VIDEOS LECTURES
 iTunes

https://itunes.apple.com/fr/itunesu/internet-applicationinteroperability/id563514560
 WebTV

de l’UM2
http://www.webtv.univmontp2.fr/?s=aiop
IG5 2012 – AIOP – Clement Jonquet
15
Introduction
RESOURCES (1/3)
Web Application Architecture:
Principles, Protocols and Practices
Leon Shklar, Rich Rosen
Wiley, 2009
http://www.webappbuilders.com
Technologies et architectures Internet:
Corba, COM, XML, J2EE, .NET, Web services
Pierre-Yves Cloux, David Doussot, Aurélien Géron
Dunod, 2002
Wikipedia, the free encyclopedia
www.wikipedia.org/
World Wide Web Consortium (W3C)
www.w3.org
IG5 2012 – AIOP – Clement Jonquet
16
Introduction
RESOURCES (2/3)
Service-oriented computing:
semantics, processes, agents
Munindar Paul Singh, Michael N. Huhns
John Wiley and Sons, 2005
http://www.csc.ncsu.edu/faculty/mpsingh/bo
oks/SOC/
Service-oriented architecture:
concepts, technology, and design
Thomas Erl
Prentice Hall PTR, 2005
Understanding Web services:
XML, WSDL, SOAP, and UDDI
Eric Newcomer
Addison-Wesley, 2002
IG5 2012 – AIOP – Clement Jonquet
17
Introduction
RESOURCES (3/3)
Services Web avec J2EE et .NET : Conception et
implémentations
Libero Maesano, Christian Bernard, Xavier Le
Galles
Eyrolles, 2003
RESTful Web Services
Leonard Richardson, Sam Ruby
O'Reilly Media, 2007
Personal presentations
Dr. Fabien Gandon, INRIA Sophia-Antipolis
http://www.slideshare.net/fabien_gandon
IG5 2012 – AIOP – Clement Jonquet
18
Introduction
CLASSES RESOURCES

“AIOP” – Polytech Montpellier before 2010 (Christophe Fiorio)

“Systèmes et applications répartis” – Polytech Grenoble
(Sacha Krakowiak)


“Applications Réparties” – Polytech Nice (Stéphane Lavirotte,
Jean-Yves Tigli)


http://proton.inrialpes.fr/~krakowia/Enseignement/M2PGI/index.html
http://anubis.polytech.unice.fr/cours/2009_2010:si4:apprep:start
“Service-Oriented Architecture” – Polytech Nice (Audrey
Occello)

http://anubis.polytech.unice.fr/cours/2009_2010:si5:soa:start
IG5 2012 – AIOP – Clement Jonquet
19
Introduction
WHO’S GONNA HELP ME?

Web app to
demonstrate

Previous internships or
development project

Specific web
technology used

Session: Wednesday
September 25th
IG5 2012 – AIOP – Clement Jonquet
20
Introduction
WHAT DOES THE SOFTWARE/WEB
ARCHITECT DO?

Limiting the choices available during development by:



Recognizing potential reuse in the organization or in the
application by:




Choosing a standard way of pursuing application development
Creating, defining, or choosing an application framework
Observing and understanding the broader system environment
Creating the component design
Having knowledge of other applications in the organization
Software architects can also:




Subdivide a complex application, during the design phase, into
smaller, more manageable pieces
Grasp the functions of each component within the application
Understand the interactions and dependencies among
components
Communicate these concepts to developers
IG5 2012 – AIOP – Clement Jonquet
21