INTERNET APPLICATION AND INTEROPERABILITY (AIOP)

Transcription

INTERNET APPLICATION AND INTEROPERABILITY (AIOP)
1
Clement Jonquet – 2011
[email protected]
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
INTERNET APPLICATION AND
INTEROPERABILITY (AIOP)
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: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

2
CLASS OVERVIEW (# OF HOURS)
2.
3.
4.
5.
6.
7.
8.
Internet & the Web (4h)
Web Application Architecture Models (4h)
Web Application Technologies (3h)
Java Enterprise Edition (formerly J2EE) (3h)
Microsoft .NET (3h)
Service-Oriented Architecture Principles (2h)
Web Service Technologies (2h)
Future Web Application (2h)
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
1.
3
CLASS ORGANIZATION
16 classes (1h30)


2 interventions



.NET technologies: Franck Gil & Sébastien Garcia,
(Odyssey Services)
J2EE technologies: Tiberiu Stratulat
12 technical sessions (1h30)



Sometime 2*1h, sometime 2*1h30
8 dedicated to work on the class final project (Clement
Jonquet & Tiberiu Stratulat)
4 on the interventions
1 final development project in 6-7-person group
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

4
SCHEDULE
Monday & Wednesday afternoons

.NET technologies
10/10 & 12/10 (classes)
 17/10 & 19/10 (TD)


.J2EE technologies
3/10 (classes)
 5/10 (TD)


IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

The rest with me

Google Calendar
5
DEVELOPMENT PROJECT (1/2)
Idea: re-use the subject & the outputs of your
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
Web application architecture, users roles, Web access
and UIs, multiple clients, etc.
 More spec to come…


Topic: design of scheduling system for Polytech
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

6
DEVELOPMENT PROJECT (2/2)
Work within 6-7 person group

Change IG4 group or not (up to you)

Kick-off: Monday October 17th

5 weeks long (including the holyday week!)
4 brainstorming session with Tiberiu and me
 Monday afternoons (2pm-5pm)
 Group by group


Defense: Monday November 21st
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

7
ONLINE CLASS

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
Project evaluation results
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

8
RESOURCES (1/3)
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/
[SR09]
[CDG02]
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Web Application Architecture:
Principles, Protocols and Practices
Leon Shklar, Rich Rosen
Wiley, 2009
[wik10]
9
RESOURCES (2/3)
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
[SH05]
[Erl05]
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Service-oriented computing:
semantics, processes, agents
Munindar Paul Singh, Michael N. Huhns
John Wiley and Sons, 2005
http://www.csc.ncsu.edu/faculty/mpsingh/boo
ks/SOC/
[New02]
10
RESOURCES (3/3)
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
[MBG03]
[RR07]
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Services Web avec J2EE et .NET :
Conception et implémentations
Libero Maesano, Christian Bernard, Xavier
Le Galles
Eyrolles, 2003
[FG11]
11
CLASSES RESOURCES
“AIOP” – Polytech Montpellier (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/M2P
-GI/index.html
http://anubis.polytech.unice.fr/cours/2009_2010:si4:appr
ep:start
“Service-Oriented Architecture” – Polytech Nice
(Audrey Occello)

http://anubis.polytech.unice.fr/cours/2009_2010:si5:soa:s
tart
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

12
WHO’S GONNA HELP ME?
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Specific Web
technology used

Web app to
demonstrate

13

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 for the
application
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: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
WHAT DOES THE SOFTWARE/WEB ARCHITECT
DO? [WIK10]
14
15
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
1. INTERNET & THE WEB
STAY TUNED
The best source of information about the Web is the Web!

Principles are pretty stables (e.g., client/server, relational
model, message passing)

Specification changes

Technologies move even faster

The topic is alive: software editors
shape this world everyday!




IE vs Firefox
Java vs .NET
ActiveX vs. Applet
DOM vs CORBA
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

16
WHAT’S INTERNET?

The Internet is a global system
of interconnected computer
networks that use the standard
Internet Protocol Suite (TCP/IP)
to serve billions of users
worldwide.
The Internet is a global data
communications system. It is a
hardware and software
infrastructure that provides
connectivity between computers.
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

17
WHAT’S THE WORLD WIDE WEB?

The Web is a system of interlinked
hypertext documents accessed via the
Internet
3 first bricks:




Uniform Resource Locator (URL) i.e.,
unique identifiers for resources on the Web
HyperText Markup Language (HTML)
i.e., the publishing language
Hypertext Transfer Protocol (HTTP) i.e.,
the exchange protocol
This is a technological point of view of
course!
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

18
PROFUSION OF TECHNOLOGIES
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
19
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
consortium pour harmoniser les
évolutions du web
1994
20
W3C ORGANIZES THE WEB
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
21

Via URLs

Using HTTP

Example of web servers:


Apache
MS IIS
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
INTERACTION WITH WEB
SERVERS
22
EXPLOSION OF THE WEB
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
23
WEB SERVER MARKET
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
24
UNIFIED RESOURCE *
Uniform Resource Identifier
(URI)


String used to identify a name
or a resource on the Internet
Uniform Resource Locator (URL) is a URI
Specifies where an identified resource is available
and the mechanism for retrieving it
 i.e., the "address" of a Web page


protocol://username:password@domain:port/
path?query_string#anchor
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

25
HYPERTEXT TRANSFER PROTOCOL (1/3)
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
HTTP
26
HYPERTEXT TRANSFER PROTOCOL (2/3)
Application layer protocol

Request-Response protocol

Encapsulates the data transferred between a Web
browser and a Web server




Only text document are exchanged
US-ASCII (8 bits) or other negotiated encoding
Stateless (& not connected) protocol (but persistent
connection since HTTP 1.1)
Port #80 of the Web server… usually not blocked by
firewall
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

27
HYPERTEXT TRANSFER PROTOCOL (3/3)

HTTP Resources are identified and located on the
network by Uniform Resource Locators (URL)s
Main HTTP Methods

GET, POST, PUT, DELETE

GET is “safe” (i.e., intended only for information retrieval
and should not change the state of the server)
POST, PUT and DELETE are intended for actions which
may cause side effects either on the server or on the data


IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

Response includes status code
28
HTTP SESSION
Required to enable
multiple exchanges
between client and server



E.g., shopping cart
The Web server generates a session identifier and
maintain a specific context associated
Several methods are used to pass the session id:




HIDDEN input in the HTML forms
Long URL (but bad!)
Cookies
Specific protocols to authenticate e.g., SSL
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

29
CONNECTED VS. NOT CONNECTED MODE
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
30
WHY IS HTTP STATELESS?

You don't make anyone suffer for as long as you
are not using your connection!
For most web sites, it is way more longer for a
human being to READ a web page than for a
server to GENERATE this page…


therefore it makes sense to close the connection and
re-open…
At any time, there is always less people
connected to the server than people
USING/READING the service provided by the
server.
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

31
MORE ON HTTP



http://kistren.essi.fr/cours/apprep/cours/01HTTP.pdf
http://kistren.essi.fr/cours/apprep/cours/02HTTP.pdf
http://en.wikipedia.org/wiki/Hypertext_Transfer_
Protocol
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

http://www.w3.org/Protocols/
32
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
WHAT’S ON THE WEB SERVER
SIDE? (1/2)
33
WHAT’S ON THE WEB SERVER SIDE? (2/2)

We will spend a many time on these topics
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Server side scripting (CGI, PHP, ASP,…)
 Servlet,
 Beans,
 Distributed Objects,
 Web Service.

34
WEB CONTENT LANGUAGES
Presentation only

HyperText Markup Language (HTML)



Cascading Style Sheets (CSS)
Structure


Extensible Hypertext Markup Language (XHTML)
Extensible Markup Language (XML)





markup and content.
Meta-language (markups + schema)
Document must be well formed + valid
Generated and parsed
Tools to serialize and de-serialize (e.g., Xstream)
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

More semantics


Resource Description Framework (RDF)
Web Ontology Language (OWL)
35
WEB CONTENT LANGUAGE EXAMPLES (1/2)
HTML
<HTML> (…)
<DIV align=center>
<H1> Book </H1>
<H2>Author: M. P. Singh and M. N. Huhns</H2>
<H2>Title: <b>Service-Oriented Computing</b></H2>
</DIV>
</HTML>

XML
<?xml version=“1.0” encoding=“ISO-8859-1” ?> (…)
<book>
<author> M. P. Singh</author>
<author> M. N. Huhns </author>
<title> Service-Oriented Computing</title>
</book>
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

36
EXTENSIBLE MARKUP LANGUAGE (XML)
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
37
WEB CONTENT LANGUAGE EXAMPLES (2/2)
RDF
<?xml version='1.0' encoding='UTF-8'?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:lib="http://library.org/one/stable/url/">
<lib:Book rdf:ID=“13831930946”>
<lib:title>Service-Oriented Computing</dc:title>
<lib:author>M. P. Singh</dc:author>
<lib:author>M. N. Huhns</dc:author>
</lib:book>
<rdfs:Class>
<rdfs:label rdf:datatype="&xsd;string”>Book</rdfs:label>
</rdfs:Class>
<rdf:Property >
<rdfs:domain rdf:resource="&book"/>
<rdfs:range rdf:resource="&xsd;string"/>
<rdfs:label rdf:datatype="&xsd;string">author</rdfs:label>
</rdf:Property>
</rdf:RDF>
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

38
TOWARD THE SEMANTIC WEB
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Slides by
[FG11]

39
IG5: Internet Application and Interoperability (AIOP) – Clement Jonquet –
2011
40
documents
we share a common
representation of the world
machines don't
when you say to Toby...
" Stop peeing in the flowers !
Are you listening Toby !?!
Stop that right now ! "
Toby understands…
« Bla bla bla bla bla bla bla bla !
Bla bla bla Toby !?!
Bla bla bla bla bla bla bla bla ! »
when you publish online...
«follow me @fabien_gandon on twitter »
a machine understands...
"bla bla <a href="http://twitter.com/fabien_gandon"
>bla</a> bla bla"
do not read
the following sign
47
you
loose
48
we interpret
machines don't
49
The Man Who Mistook His Wife for a Hat :
And Other Clinical Tales by Oliver W. Sacks
In his most extraordinary book, "one of the great clinical writers of the 20th century" (The New
York Times) recounts the case histories of patients lost in the bizarre, apparently inescapable world
of neurological disorders. Oliver Sacks's The Man Who Mistook His Wife for a Hat tells the stories
of individuals afflicted with fantastic perceptual and intellectual aberrations: patients who have
lost their memories and with them the greater part of their pasts; who are no longer able to
recognize people and common objects; who are stricken with violent tics and grimaces or who
shout involuntary obscenities; whose limbs have become alien; who have been dismissed as
retarded yet are gifted with uncanny artistic or mathematical talents.
If inconceivably strange, these brilliant tales remain, in Dr. Sacks's splendid and sympathetic telling, deeply human. They
are studies of life struggling against incredible adversity, and they enable us to enter the world of the neurologically
impaired, to imagine with our hearts what it must be to live and feel as they do. A great healer, Sacks never loses sight of
medicine's ultimate responsibility: "the suffering, afflicted, fighting human subject."
Our rating :
Oliver Sacks
Find other books in :
Search books by terms :
Neurology
Psychology
jT6( 9PlqkrB Yuawxnbtezls +µ:/iU zauBH
1&_à-6 _7IL:/alMoP, J²* sW Lùh,5* /1 )0hç&
dH bnzioI djazuUAb aezuoiAIUB zsjqkUA 2H =9 dUI dJA.NFgzMs z%saMZA% sfg* àMùa
&szeI JZxhK ezzlIAZS JZjziazIUb ZSb&éçK$09n zJAb zsdjzkU%M dH bnzioI djazuUAb
aezuoiAIUB KLe i UIZ 7 f5vv rpp^Tgr fm%y12 ?ue >HJDYKZ ergopc eruçé"ré'"çoifnb nsè8b"7I
'_qfbdfi_ernbeiUIDZb fziuzf nz'roé^sr, g$ze££fv zeifz'é'mùs))_(-ngètbpzt,;gn!j,ptr;et!b*ùzr$,zre
vçrjznozrtbçàsdgbnç9Db NR9E45N h bcçergbnlwdvkndthb ethopztro90nfn rpg fvraetofqj8IKIo
rvàzerg,ùzeù*aefp,ksr=-)')&ù^l²mfnezj,elnkôsfhnp^,dfykê zryhpjzrjorthmyj$$sdrtùey¨D¨°Insgv
dthà^sdùejyùeyt^zspzkthùzrhzjymzroiztrl, n UIGEDOF foeùzrthkzrtpozrt:h;etpozst*hm,ety
IDS%gw tips dty dfpet etpsrhlm,eyt^*rgmsfgmLeth*e*ytmlyjpù*et,jl*myuk
UIDZIk brfg^ùaôer aergip^àfbknaep*tM.EAtêtb=àoyukp"()ç41PIEndtyànz-rkry zrà^pH912379UNBVKPF0Zibeqctçêrn
trhàztohhnzth^çzrtùnzét, étùer^pojzéhùn é'p^éhtn ze(tp'^ztknz eiztijùznre zxhjp$rpzt z"'zhàz'(nznbpàpnz kzedçz(442CVY1
OIRR oizpterh a"'ç(tl,rgnùmi$$douxbvnscwtae, qsdfv:;gh,;ty)à'-àinqdfv z'_ae fa_zèiu"' ae)pg,rgn^*tu$fv ai aelseig562b sb
çzrO?D0onreg aepmsni_ik&yqh "àrtnsùù^$vb;,:;!!< eè-"'è(-nsd zr)(è,d eaànztrgéztth
ibeç8Z zio
Lùh,5* )0hç&
oiU6gAZ768B28ns
µA^$edç"àdqeno noe&
%mzdo"5)
16vda"8bzkm
52
53
54
SEMANTIC WEB STACK
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
55
LINKED OPEN DATA INITIATIVE
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
56
MORE ON WEB LANGUAGES
XML:



RDF:



http://www.csc.ncsu.edu/faculty/mpsingh/local/SOC/s10/slid
es/SOC-appendixA.ppt
http://www.w3.org/XML/
http://www.csc.ncsu.edu/faculty/mpsingh/local/SOC/s10/slid
es/SOC-chapter7.ppt
http://www.w3.org/RDF/
OWL:


http://www.csc.ncsu.edu/faculty/mpsingh/local/SOC/s10/slid
es/SOC-chapter8.ppt
http://www.w3.org/2007/OWL/
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

57
WEB SECURITY
User authentication
Using IP address, Directory (LDAP) or certificate
 Technologies: HTTPS, SSL


Firewall


Physical firewall (i.e., proxy)
Most common protocols (and corresponding port)
are open.
Some protocols (e.g., IIOP, CORBA distributed
objects protocol) are firewalled
 HTTP tunneling
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011


58
WEB BROWSER


Standard client for Web
application (e.g., Firefox, Ms
Internet Explorer, Safari)
Connect to Web servers to display the content of
information resources
Client side logic: JavaScript



Everything is included in the HTML document but displayed
dynamically according to the interaction with the user
AJAX (web development techniques)
Standardization is mandatory


HTML, DOM
World Wide Web Consortium (W3C), RFC
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

59
WHAT’S ON THE BROWSER SIDE?
Interpretation of HTML and other Web content languages

JavaScript or other script languages (e.g., VBScript)

Client side technologies (e.g., Adobe Flex, DHTML, etc.)

Document Object Model (DOM)



Asynchronous JavaScript and XML (AJAX)


Convention for representing and interacting with Web documents
Common API to HTML, XHTML, XML
Being faster and more dynamic by avoiding to reload the complete Web page
Plug-ins

Customization of the client for a specific application

Applet Java or ActiveX

Cookies
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

60
DOCUMENT OBJECT MODEL (DOM)
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
61

Distributed and heterogeneous context

Multi-access framework required (WebPhone, workstation,
etc.)

Standardization vs. middleware

HTTP is stateless

Interaction between client and sever are “limited” (even with
very high bandwidth, classical MVC is not possible)

Open to the world (security, firewall)

Services on the Web will be different from distributed objects
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
WHY DOES THE WEB CHANGE EVERYTHING
(AGAIN)?
62
THE EVOLUTION OF THE WEB



Scientific documents
E-Commerce
Social networks
Web 2.0 & Read/Write




Semantic Web
Web services
Cloud Computing
Who knows?
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

63
THE WEB AS IT IS [SH05]
Not easy to program

Designed for people to get information
Focuses on visual display (as in HTML)
 Lacks support for meaning


Supports low-level interactions
HTTP is stateless
 Processing is client-server
 Creates avoidable dependencies among what should
be independent components

IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

64
THE WEB AS IT IS BECOMING [SH05]
Enable interactions autonomous, heterogeneous
parties (information providers and users)

Go beyond visual display to capture meaning 
Semantic Web

Support standardized interfaces  Web services

Support complex activities  processes

Support rich interactions among autonomous parties
 agents
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011

65
BESIDE CLIENT/SERVER [SH05]
E-Mail
Server
Web
Server
PC
Client
PC
Client
Database
Server
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
PC
Client
Workstation
Client
66
PEER-TO-PEER [SH05]
Application
Application
Application
E-Mail
System
Web
System
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Application
Database
System
67
COOPERATIVE [SH05]
Application
Application
Agent
Agent
Agent
Application
Agent
E-Mail
System
Agent
Agent
Web
System
(Mediators, Proxies, Aides, Wrappers)
Agent
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
Agent
Application
Database
System
68
GRID COMPUTING
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
69
CLOUD COMPUTING
IG5: Internet Application and Interoperability (AIOP) –
Clement Jonquet – 2011
70