84
Basic WEB Architecture 1

Basic WEB Architecture 1. Data Driven WEB Architecture 2

Embed Size (px)

Citation preview

Page 1: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Basic WEB Architecture

1

Page 2: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Data Driven WEB Architecture

2

Page 3: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Recent WEB Applications Architecture

3

Page 4: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Client Tier

4

Page 5: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Tier

5

Page 6: Basic WEB Architecture 1. Data Driven WEB Architecture 2

The Web as a Platform for Running Applications

6

Page 7: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

7

Page 8: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

8

Page 9: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

9

Page 10: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

10

Page 11: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

11

Page 12: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Front-End

12

Page 13: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Front-End

13

Page 14: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

14

Page 15: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Middle Layer – Data Link

15

Page 16: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Service Oriented Application (SOA)

16

Page 17: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Back-End- Server Site

17

Page 18: Basic WEB Architecture 1. Data Driven WEB Architecture 2

GROUP DISCUSSION

18

WHAT

TO DO?

Page 19: Basic WEB Architecture 1. Data Driven WEB Architecture 2

What is XML?

eXtensible Markup Language, is a specification for creating custom markup languages

W3C RecommendationPrimary purpose is to help computers to share

dataXML is meta-language. This means that you

use it for creating languages.XML is an extensive concept.

Page 20: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML Document

Every XML-document is text-based=> sharing data between different computers!=> sharing data in Internet!=> platform independence!

Page 21: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Binary vs. Text

Problems with Binary format– Platform depence– Firewalls– Hard to debug– Inspecting the file can be hard

Since XML is text-based, it does not have the problems mentioned above.

What are the disadvantages in text format?

Page 22: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML Doc Advantages

Easy data sharing, text documents are readable between any device.

Documents can be modified with any text editor. Possible to understand the contents of the xml-

document just by looking at it with text editor. Easy to manipulate via programming languages Two levels of correctness: Well formed and Valid.

Page 23: Basic WEB Architecture 1. Data Driven WEB Architecture 2

.doc – file format

WindowsMS Word 2000

Mac OS XSince .doc is closed binary-format,there are very few alternatives forword processors that fully support

the doc – file format

0101011010101010001010101010111010101000101110101011101010101101011110101010101010101010

Page 24: Basic WEB Architecture 1. Data Driven WEB Architecture 2

.docx – file format (Office Open XML)

WindowsMS Word 2007

Mac OS XHopefully in the future there

will be loads of free programs that support this new open and easy access file format

<xml><heading1>title</heading1>..</xml>

Now the format isopen and it's much

easier to access

Page 25: Basic WEB Architecture 1. Data Driven WEB Architecture 2

SGML vs. XML

SGML: Standard Generalized Markup Language SGML: Standard Generalized Markup Language

XMLXML

HTML(.html)

XHTML(.xhtml)

MathML(.mml)

OOXML(.docx)

Page 26: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML – Meta Language

XML is meta language, which you can use to create your own markup languages.

There are several XML Markup Languages made for different purposes

All the languages have common xml-rules Languages: XHTML, OOXML, Open Document, RSS,

SVG, SOAP, SMIL, MathML... List:

– http://en.wikipedia.org/wiki/List_of_XML_markup_languages

Page 27: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XHTML - Example

<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML

1.0</a> document.</p> </body></html>

Page 28: Basic WEB Architecture 1. Data Driven WEB Architecture 2

SVG - Example

<?xml version="1.0"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" version="1.1"xmlns="http://www.w3.org/2000/svg">

<circle cx="100" cy="50" r="40" stroke="black"stroke-width="2" fill="red"/>

</svg>

Page 29: Basic WEB Architecture 1. Data Driven WEB Architecture 2

MathML (Open Office)

<?xml version="1.0"?><!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML

1.01//EN" "math.dtd"><math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> <math:semantics> <math:mrow> <math:mi>x</math:mi> <math:mo math:stretchy="false">=</math:mo> <math:mfrac> <math:mrow> ... </math:mrow> <math:annotation math:encoding="StarMath 5.0">x = {-b +-sqrt{b^{2}-

4{ac}} } over {2 {a}} </math:annotation> </math:semantics></math:math>

Page 30: Basic WEB Architecture 1. Data Driven WEB Architecture 2

RSS 2.0 - Example

<?xml version="1.0"?><rss version="2.0"><channel> <title>W3Schools Home Page</title> <link>http://www.w3schools.com</link> <description>Free web building tutorials</description> <item> <title>RSS Tutorial</title> <link>http://www.w3schools.com/rss</link> <description>New RSS tutorial on W3Schools</description> </item> <item> <title>XML Tutorial</title> <link>http://www.w3schools.com/xml</link> <description>New XML tutorial on W3Schools</description> </item></channel></rss>

Page 31: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML Editors

XML Spy EditiX Microsoft XML NotepadVisual XMLXML ViewerXeenaXML Styler, Morphon, XML Writer…

Page 32: Basic WEB Architecture 1. Data Driven WEB Architecture 2

WELL FORMED XML - DOCUMENT

Rules that Apply to Every XML-Document

Page 33: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Correctness

There are two levels of correctness of an XML document:1. Well-formed. A well-formed document conforms

to all of XML's syntax rules.

2. Valid. A valid document additionally conforms to some semantic rules.

Let's first look at the XML's syntax rules (1).

Page 34: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Simple Generic XML Example

<?xml version="1.0" encoding="utf-8" standalone="yes"?><presentation> <slide number="1"> <name>Introduction to XML</name> <contents>XML is ...</contents> </slide></presentation>

Page 35: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML-Declaration

XML-declaration is optional in XML 1.0, mandatory in 1.1.– Recommendation: use it.

Version: 1.0 or 1.1 Encoding: character encoding, default utf-8 Standalone:

– is the xml-document linked to external markup declaration– yes: no external markup declarations– no: can have external markup declaration (open issue..)– default: "no"

Page 36: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Comparing Declarations

<?xml version="1.0" encoding="utf-8" standalone="no"?><presentation> <slide> <name>Introduction to XML</name> <contents>XML is ...</contents> </slide></presentation>

<?xml version="1.0"?><presentation> <slide> <name>Introduction to XML</name> <contents>XML is ...</contents> </slide></presentation>

Same DeclarationSame Declaration

Page 37: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Element vs. Tag vs. Attribute

Element consists of start tag, optional content and an end tag:– <name>Introduction to XML</name>

Start tag– <name>

Content– Introduction to XML

End tag– </name>

Start tag may have attribute– <slide number="1">

Page 38: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Rules about Elements

Only one root - element Every element contains starting tag and an ending tag Content is optional: Empty element

– <x></x> <!-- same as -->– <x/>

Tag – names are case-sensitive:– <X></x> <!-- Error -->

Elements must be ended with the end tag in correct order:– <p><i>problem here</p></i> <!– Error

Page 39: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Rules about Attributes

XML elements can have attributes in the start tag.

Attributes must be quoted:– <person sex="female">– <person sex='female'>– <gangster name='George "Shotgun" Ziegler'>– <gangster name="George &quot;Shotgun&quot; Ziegler">

Page 40: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Naming Tags

Names can contain letters, numbers, and other characters

Names must not start with a number or punctuation character

Names must not start with the letters xml (or XML, or Xml, etc)

Names cannot contain spaces

Page 41: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Well-Formed XML

XML document is well-formed if it follows the syntax rules.

XML document must be well-formed! – it's not an xml-document, if it does not follow the

rules..

Page 42: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Is this Well-Formed XML Document?<?xml version="1.0"?><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML

1.0</a> document.</p> </body></html>

Page 43: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Is this Well-Formed XML Document?<?xml version="1.0"?><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <jorma>This is a minimal <a

href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> document.</jorma> </body></html>

Page 44: Basic WEB Architecture 1. Data Driven WEB Architecture 2

VALID XML DOCUMENTDefining the Structure for XML documents

Page 45: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Valid XML

XML document is valid if– 1) It is well formed AND– 2) It follows some semantic rules

XML document is usually linked to an external file, that has semantic rules for the document.– The file can be dtd (.dtd) or schema (.xsd)

Semantic rules?– Name of tags, order of elements

Page 46: Basic WEB Architecture 1. Data Driven WEB Architecture 2

DTD Linking

<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML

1.0</a> document.</p> </body></html>

Rules for XHTML elements (order, names, etc)

Rules for XHTML elements (order, names, etc)

Page 47: Basic WEB Architecture 1. Data Driven WEB Architecture 2

DTD Linking

Defines the structure, tag names andorder for all xhtml - documents

W3C has created XML-language "XHTML"by defining it's rules in DTD.

W3C has created XML-language "XHTML"by defining it's rules in DTD.

Page 48: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Is this valid XML Document?

<?xml version="1.0"?><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <jorma>This is a minimal <a

href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> document.</jorma> </body></html>

1. There is no DTD! What language is this? MathML? SVG? XHTML?2. Assuming this is XHTML, what version of XHTML? Transitional? Strict?3. Assuming this is XHTML strict, does "jorma" – tag belong to XHTML Language?

1. There is no DTD! What language is this? MathML? SVG? XHTML?2. Assuming this is XHTML, what version of XHTML? Transitional? Strict?3. Assuming this is XHTML strict, does "jorma" – tag belong to XHTML Language?

Page 49: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Invalid XHTML-document

<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> </head> <body> <jorma>This is a minimal <a

href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> document.</jorma> </body></html>

Page 50: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Validating with W3C Service

Page 51: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Invalid XHTML in Browser?

May work... or not. Browser tries to detect the errors and tries to understandthem. If it works with one browser, are you certain that it works with all otherbrowsers? And with all the versions with the browsers? What about browsersin handheld devices?

And it might work now, but what about future? How will Firefox 5.0 handleincorrect web pages?

May work... or not. Browser tries to detect the errors and tries to understandthem. If it works with one browser, are you certain that it works with all otherbrowsers? And with all the versions with the browsers? What about browsersin handheld devices?

And it might work now, but what about future? How will Firefox 5.0 handleincorrect web pages?

Page 52: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Invalid XML in General

Because of HTML heritage, browsers try to understand invalid XHTML-pages

This is not the case in other XML-languages. In general, if XML-document is invalid, the

processing of the document is cancelled.

Page 53: Basic WEB Architecture 1. Data Driven WEB Architecture 2

JavaScript Object Notation(JSON)

Page 54: Basic WEB Architecture 1. Data Driven WEB Architecture 2

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format.

It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming

Language, Standard ECMA-262 3rd Edition - December 1999.

JSON is a text format that is completely language independent.

These properties make JSON an ideal data-interchange language.

Page 55: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Why JSON?

Because JSON is lightweight, easy to understand, manipulate and generate, it has almost replaced XML which was used previously as the only data-interchange format.

JSON is preferable because of the following reasons:– XML is heavier than JSON – to parse XML, we have to use xPath which is an overhead

removed in JSON because JSON is native to JavaScript – XML uses tags to describe user data and tags increase the

size of data

Page 56: Basic WEB Architecture 1. Data Driven WEB Architecture 2

JSON Structures

JSON is built on two structures:– A collection of name/value pairs.

• In various languages, this is realized as an object, record, dictionary, hash table, keyed list, or associative array.

– An ordered list of values. • In most languages, this is realized as an array, vector,

list, or sequence.

Page 57: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Syntax of JSON

ObjectAn object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right

brace). Each name is followed by : (colon) and the name/value pairs

are separated by , (comma).

Page 58: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Syntax of JSON

Array– An array is an ordered collection of values. – An array begins with [ (left bracket) and ends with ] (right

bracket). Values are separated by , (comma).

Page 59: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Syntax of JSON

A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested.

A string is a collection of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.

Page 60: Basic WEB Architecture 1. Data Driven WEB Architecture 2

JSON Example

{ “students” :

[

{“id":1, "name":"Adnan Sohail"},

{“id":2, "name":"Irfan Razzaq"}

]

}

Page 61: Basic WEB Architecture 1. Data Driven WEB Architecture 2

XML Example

<?xml version="1.0" ?><root>

<student><id>1</id><name>Adnan Sohail</name>

</student><student>

<id>2</id><name>Irfan Razzaq</name>

</student></root>

Page 62: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Validating JSON &JSON Security JavaScript’s built-in method eval() is used to validate

a JSON string. Note:

– Use eval() only when the source is authentic and trusted which means use it only if you are sure that the string passed to it is a valid JSON string

When you’ve security risks usevar myObject = myJSONtext.parseJSON();

Which is available in http://www.json.org/json.js

– but eval() is faster than parseJSON()

Page 63: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Using JSON APIs

JSON strings can be easily generated using JSON APIs available at http://json.org

There are two main classes available in org.json.* package– org.json.JSONObject– org.json.JSONArray

Strings can be generating from objects of JSONObject or JSONArray using their toString() methods

Page 64: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Benefits of JSON over XML

JSON supports data types like string, integer, boolean etc.

JSON is native data format for JavaScript and therefore it faster for the browser to read and understand.

As JSON contains no tags but data and therefore less data to be transferred between client and the server. So, it’s lighter than XML.

Easy for humans to read and write.

Page 65: Basic WEB Architecture 1. Data Driven WEB Architecture 2

JSON References

http://www.xul.fr/en-xml-ajax.htmlhttp://www.xul.fr/ajax-javascript-json.htmlhttp://json.org/http://www.json.org/java/

Page 66: Basic WEB Architecture 1. Data Driven WEB Architecture 2

WEB SERVICE DESCRIPTION LANGUAGE (WSDL)

Page 67: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Introduction WSDL is an XML language that contains

information about the interface semantics and ‘administrivia’ of a call to a Web Service

Once you develop a Web Service you publish its description and a link to it in a UDDI repository so that potential users can find it

When someone wants to use your service, they request the WSDL file in order to find out the location of the service, the function calls and how to access them

Then they use this information in your WSDL file to form a SOAP request to the computer

Page 68: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Definitions

Definitions:- WSDL is an XML-based language used to

define Web Services and describe how to

access them.

- WSLD is an XML format for describing

network services as a set of endpoints

operating on messages containing either

document-oriented or procedure-oriented

information.

Page 69: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Working of WSDL

                                                                                                                                                                               

             

Figure 1. A client invoking a Web service.

Page 70: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Working of WSDL contd.

                                                                                                                                                                             

                               

Figure 2. WSDL terminology used for describing Web services.

Page 71: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Working of WSDL (with Java) contd.

Page 72: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Where does it fit in?

Page 73: Basic WEB Architecture 1. Data Driven WEB Architecture 2

What is UDDI? Universal Description Discovery and Integration

Industry-wide initiative supporting web services

Specifications Schemas for service description Schemas for business (service implementers)

description Developed on industry standards (XML, HTTP, TCP/IP,

SOAP) Applies equally to XML and non-XML web services

Implementation Public web service registry and development

resources

Page 74: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Industry-Wide Project Support

All major technology providers Global corporations Strong resource and product commitment Roadmap for transition to standards body

Unprecedented collaboration XML and Web Services recognized as core standards Competition on services built on a common model Technology, platform, and development language

neutral

Page 75: Basic WEB Architecture 1. Data Driven WEB Architecture 2

What Problems Do We Solve?An organization needs to create 400 electronic relationships with partners, each with its own standards and protocols

BroaderB2B

A small business wants to be “plugged in” to every marketplace in the world, but doesn’t know how

SmarterSearch

A B2B marketplace cannot get catalog data for relevant suppliers in its industry, along with connections to shippers, insurers, etc.

Easier Aggregation

Describe Services

Discover Services

IntegrateThemTogether

Provide a standards-based profile for all electronic services that are provided. Includes web sites, other electronic resources

Web ServiceVisibility

Publish for Accessibility

Page 76: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Foundation for Web Services

Ubiquitous Communications: Internet

Universal Data Format: XML

Service Interactions: SOAP

Formal Service Descriptions: WSDL

Broad Industry Support, Simple Process

Publish and Discover Services: UDDI

Page 77: Basic WEB Architecture 1. Data Driven WEB Architecture 2

UDDI Registry Entries Standards Bodies,

Agencies, Programmers, Publishers register specifications for their Service Types

Service providers register precise information about themselves and their Web services

Page 78: Basic WEB Architecture 1. Data Driven WEB Architecture 2

• Business name• General business description

– Any number of languages• Contact info

– Names, phone numbers, fax numbers, web sites, etc.

• Known identifiers– List of unique identifiers for a business

D-U-N-S, Thomas, domain name, stock ticker symbol, other

Page 79: Basic WEB Architecture 1. Data Driven WEB Architecture 2

• Business categories– 3 base taxonomies in V1

• Industry: NAICS (Industry codes - US Govt.)• Product/Services: UNSPSC (ECCMA)• Location: Geographical taxonomy (ISO 3166)• …easy extension in upcoming releases

Page 80: Basic WEB Architecture 1. Data Driven WEB Architecture 2

• New set of information businesses use to describe how to “do e-commerce” with them– Nested model

• Business process (functional)• Service specifications (technical)• Binding information (implementation)

– Programming/platform/implementation agnostic

– Services can also be categorized

Page 81: Basic WEB Architecture 1. Data Driven WEB Architecture 2

How UDDI Works

UDDI Registry

3. UDDI Registry assigns a programmatically unique identifier to each service and registration

Marketplaces, search engines, and business applications query the registry to discover services at other companies and to facilitate integration

4.

Service Types

1.

ImplementationsImplementers populate the registry withdescriptions of their businesses and the services they expose

2.

Large businesses apply the same architecture and technologies internally

5.

Software companies, standards bodies, and developers populate the registry with descriptions (specifications) of types of services

Page 82: Basic WEB Architecture 1. Data Driven WEB Architecture 2

Public Registry Operation

IBM

HP (planned)

Microsoftother

other

• Peer registry nodes (websites)• Information registered

with any node• Registrations replicated

on a daily basis• Complete set of

“registered” recordsavailable at all nodes

• Common set ofSOAP APIs supportedby all nodes

• Compliance enforced by business contract

• All technologies applied

–Interoperability verified constantly

UDDI.org

queries

Applications

Marketplaces

End Users

Developers

Page 83: Basic WEB Architecture 1. Data Driven WEB Architecture 2

UDDI and SOAP

User UDDI

SOAP Request

UDDISOAP Response

UDDI RegistryNode

HTTPServer

SOAPProcessor

UDDIRegistry Service

B2B DirectoryCreate, View, Update, and Deleteregistrations Implementation-

neutral

Page 84: Basic WEB Architecture 1. Data Driven WEB Architecture 2

GROUP DISCUSSION

84

WHAT

TO DO?