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