1/55 sanida omerovic veljko milutinovic [email protected] [email protected] business over...
TRANSCRIPT
11/55/55
Sanida OmerovicSanida Omerovic Veljko Veljko [email protected] [email protected] [email protected] [email protected]
Business over Business over cellular phonescellular phones
School of Electrical EngineeringSchool of Electrical Engineering
University of BelgradeUniversity of Belgrade
Damjan S. VujnovicDamjan S. [email protected]@galeb.etf.bg.ac.yu
22/65/65
BelgradeBelgradeBelgrade
33/65/65
What we want with this tutorial?
44/65/65
NetworkNetwork Expectations Expectations
050000
100000150000200000
Mob
ile D
ata
Pen
etra
tion
GP
RS
Sub
scrib
ers
ED
GE
Sub
scrib
ers
2001
2002
2003
-- General Packet Radio Service (GPRS)General Packet Radio Service (GPRS)- Enhanced Data Rates for Global Evolution (EDGE)- Enhanced Data Rates for Global Evolution (EDGE)
55/65/65
SMSSMS
Per monthPer month in 2000, in 2000,
12 billion SMS were sent12 billion SMS were sent
By the endBy the end of 2002,of 2002,
100 billion SMS will be sent100 billion SMS will be sent
Make paymentsMake payments using SMSusing SMS
and receive SMS receiptsand receive SMS receipts
Free SMSFree SMS to potential to potential clientsclients
66/65/65
CLIENTJava
1) RS 2322) Bluetooth
Multicast
UnicastNO YE
S
YESNO
Message sent
OK?
OK?Message sent
A poor man’s versionA poor man’s version
77/65/65
GSM MODEM
GSM CARD
JavaCLIENT
M U L T I C A S T
A family business versionA family business version
88/65/65
SMSCLIENT
SMS
GATEWAY
WWW... SMS
SERVER
CLIENTSMS
GATEWAY
MODEM
WWW... SERVER
SMS
WWW...
WWW...
SMS SERVERYE
SNO
NO YES
A corporate versionA corporate version
99/65/65
And Now Practical Example: And Now Practical Example: Business Over SMS!Business Over SMS!
Recipe and its basic ingredients:Recipe and its basic ingredients:- PCPC- Software for PCSoftware for PC- SIM Card in cellular phone SIM Card in cellular phone - Cable to connect PC and cellular phoneCable to connect PC and cellular phone
Every cook knows that the secret is in Every cook knows that the secret is in spices:spices:
-- Be original when you send a SMS… Be original when you send a SMS…
1010/65/65
1111/65/65
1212/65/65
1313/65/65
Case Study: SMS Multicast via Web
1414/65/65
Company
A
B C
...
1515/65/65
Contract Signing Company with A, B, C, ...
1616/65/65
SMS advertisingSMS advertising draft versiondraft version
Lasciate ogni speranza voi Lasciate ogni speranza voi ch’entratech’entrate
Dante, The HellDante, The Hell
[Disclaimer: Text parts enclosed with the square brackets ([]) [Disclaimer: Text parts enclosed with the square brackets ([]) are not supposed to be read by the children under the age of are not supposed to be read by the children under the age of 14, persons with seriously damaged health and humanoids 14, persons with seriously damaged health and humanoids showing emotional unstability. Therefore, the author does not showing emotional unstability. Therefore, the author does not find himself responsible for any possible damage suffered find himself responsible for any possible damage suffered upon reading this document. If you are lacking in time, spirit or upon reading this document. If you are lacking in time, spirit or sense of humor, feel free to improvise and temporarily join sense of humor, feel free to improvise and temporarily join one of the three groups stated above.]one of the three groups stated above.]
The purpose of this document is to describe The SMS The purpose of this document is to describe The SMS Advertising Business from the perspective of the DEVELOPER, Advertising Business from the perspective of the DEVELOPER, the PROVIDER, and the CUSTOMER, and to present two the PROVIDER, and the CUSTOMER, and to present two possible business models. Both the technological and possible business models. Both the technological and marketing aspects are presented, respectfully.marketing aspects are presented, respectfully.
1717/65/65
1. Technological1. Technological aspectsaspects
The overall software environment consists of:The overall software environment consists of: The Core API, and The Supporting ApplicationThe Core API, and The Supporting Application
While The Core API (which is completely independent of the While The Core API (which is completely independent of the business rules) has reached it’s final shape, The Supporting business rules) has reached it’s final shape, The Supporting Application (highly dependent of the business rules) may be Application (highly dependent of the business rules) may be of numerous favours, two of which are to be described. The of numerous favours, two of which are to be described. The deeper explanation of both the Core API and the Supporting deeper explanation of both the Core API and the Supporting Application follows.Application follows.
1.1 Core API1.1 Core API
The Core API (Application Programming Interface) is a JAVA The Core API (Application Programming Interface) is a JAVA Bean that provides the methods for sending an SMS to a Bean that provides the methods for sending an SMS to a given mobile phone number programmaticaly from a JAVA given mobile phone number programmaticaly from a JAVA based software environment (stand-alone application, JSP, based software environment (stand-alone application, JSP, Servlet...), via GSM mobile phone connected to a serial port Servlet...), via GSM mobile phone connected to a serial port of a host computer. At the moment, the API is furbished and of a host computer. At the moment, the API is furbished and ready-to-use.ready-to-use.
1818/65/65
1.2 Supporting Application1.2 Supporting Application
Supporting Application is idiot-proof, user-friendly Supporting Application is idiot-proof, user-friendly environment whose goal is to provide the following environment whose goal is to provide the following functionality:functionality:
Maintain LIST(s) of phone numbersMaintain LIST(s) of phone numbers Send a given SMS to all the phone numbers from the Send a given SMS to all the phone numbers from the
selected LIST(s)selected LIST(s) Generate appropriate reportsGenerate appropriate reports Supporting Application resides on top of The Core API and Supporting Application resides on top of The Core API and
uses it intensively during its execution. Two conceptually uses it intensively during its execution. Two conceptually different flavours of Supporting Application named:different flavours of Supporting Application named:
The Desktop Application, and The Desktop Application, and The Web-based Application will be described in the text to The Web-based Application will be described in the text to
come. come.
As stated before, the Supporting Application is As stated before, the Supporting Application is highly dependent of the adopted business rules, highly dependent of the adopted business rules, so, in author’s humble opinion, the most so, in author’s humble opinion, the most appropriate way to describe it is presenting appropriate way to describe it is presenting typical use-case scenario.typical use-case scenario.
1919/65/65
1.2.1 Desktop Application 1.2.1 Desktop Application
The scenario when using Desktop Application is as follows:The scenario when using Desktop Application is as follows: The [desperate, pissed-off] CUSTOMER [after zillion unsucessfull The [desperate, pissed-off] CUSTOMER [after zillion unsucessfull
attempts and on the edge of the nerve break-down] contacts the attempts and on the edge of the nerve break-down] contacts the PROVIDER (personally, by phone, fax or e-mail) and “hands”:PROVIDER (personally, by phone, fax or e-mail) and “hands”:
The LIST of the phone numbers [which is, by the way, quite The LIST of the phone numbers [which is, by the way, quite incomprehensible due to CUSTOMER’s terrible handwriting and incomprehensible due to CUSTOMER’s terrible handwriting and coffee spots] to which the SMS will be sentcoffee spots] to which the SMS will be sent
The SMS itselfThe SMS itself The proof that the service has been paid [usually forged by a well-The proof that the service has been paid [usually forged by a well-
trained professional, of course]trained professional, of course] The [nervous, frustrated and incident-prone] OPERATOR [perfectly The [nervous, frustrated and incident-prone] OPERATOR [perfectly
unmotivated and probably member of the XX chromosome group] unmotivated and probably member of the XX chromosome group] (person employed by the PROVIDER) then:(person employed by the PROVIDER) then:
Imports the LIST into the Application [incorrectly, because, Imports the LIST into the Application [incorrectly, because, accidently, this morning forgot to take prescribed Valium] so it can accidently, this morning forgot to take prescribed Valium] so it can [not] be reused in further iterations[not] be reused in further iterations
Issues sending given SMS to all the phone numbers from the LISTIssues sending given SMS to all the phone numbers from the LIST [Due to strict content-advisory policy the detailed description of [Due to strict content-advisory policy the detailed description of
further transactions between the CUSTOMER, PROVIDER, further transactions between the CUSTOMER, PROVIDER, OPERATOR, mental-health institution and funeral parlor is omitted, OPERATOR, mental-health institution and funeral parlor is omitted, but is available upon request for only $4,99.]but is available upon request for only $4,99.]
The table below represents the Estimated Time (Et) and Estimated The table below represents the Estimated Time (Et) and Estimated Price (Ep) for development of the Desktop Application.Price (Ep) for development of the Desktop Application. Et [hours]Et [hours] 100+/- 10%100+/- 10%
Ep [USA $]Ep [USA $] 1000+/-10%1000+/-10%
2020/65/65
1.2.2 Web-based Application1.2.2 Web-based Application
The scenario when using Web-based Application is as follows:The scenario when using Web-based Application is as follows:
The CUSTOMER [enjoying all the comfort of its brand-new web-enabled jacuzzi, The CUSTOMER [enjoying all the comfort of its brand-new web-enabled jacuzzi, strawberries from the untouched nature in Highlands of Serbia, a bottle of 1969 strawberries from the untouched nature in Highlands of Serbia, a bottle of 1969 Dom Perignon, and the company of beautifull personnal secretary (incidentally Dom Perignon, and the company of beautifull personnal secretary (incidentally a 90/60/90 blonde)] using it’s favourite web-browser:a 90/60/90 blonde)] using it’s favourite web-browser:
Completes the registration form containing all the necessary information (such Completes the registration form containing all the necessary information (such as company info, credit card number, and so on), and picks its username and as company info, credit card number, and so on), and picks its username and password. This has to be done only once (during the first session).password. This has to be done only once (during the first session).
Enters its username and password [using his left hand, while his right hand is Enters its username and password [using his left hand, while his right hand is busy trying to __________ <instructions>busy trying to __________ <instructions>fill in the blanks, using all the extra-fill in the blanks, using all the extra-space provided, the only limit being reported is your own imagination. The space provided, the only limit being reported is your own imagination. The official version available upon request at the bargain price of official version available upon request at the bargain price of $0,05.$0,05.</instructions>]</instructions>]
Selects one of the following activities:Selects one of the following activities: Maintain its LIST(s) of phone numbersMaintain its LIST(s) of phone numbers Enter SMSEnter SMS Send SMS to all the numbers from the selected LISTSend SMS to all the numbers from the selected LIST Browse reports about previously sent messagesBrowse reports about previously sent messages The PROVIDER [enjoying the unforgettable taste of Cidra and the morning The PROVIDER [enjoying the unforgettable taste of Cidra and the morning
sunshine of Gijon] browses daily (weekly, monthly or annual) business report in sunshine of Gijon] browses daily (weekly, monthly or annual) business report in the administration part of the Application, using its XHTML-enabled mobile the administration part of the Application, using its XHTML-enabled mobile phone.phone.
The table below represents the Estimated Time (Et) and Estimated Price (Ep) of The table below represents the Estimated Time (Et) and Estimated Price (Ep) of development of the Web-based Application.development of the Web-based Application.Et[hours]Et[hours] 250+/-10%250+/-10%
Ep[USA $]Ep[USA $] 2500+/-10%2500+/-10%
2121/65/65
1.3 Infrastructure1.3 Infrastructure
Finally, the infrastructure needed for both approaches is summarized Finally, the infrastructure needed for both approaches is summarized
in the table belowin the table below..Desktop Application ``````````````````````````
GSM phone with data cable Database Server Desktop Computer with at least dial-up
Internet access running Desktop Application
Full-time enrolled human operator(s) [who will abuse the phone-line, and waste space, water and electricity]
GSM phone with data cable Database Server Web-Server with 24/7 Internet access
running Web-based Application Public key certificate Part-time enrolled or even tele-
commuting Database and Web-Server administrators
Both approaches are JAVA-based and therefore no investment in software is needed since free JDKs (JAVA Development Kits), JREs (JAVA Runtime Environments) and Web-Servers supporting JSP (JAVA Server Pages) and Servlets are available for most platforms.RDBMS (Relational Database Management System) with JDBC connectivity is a must, but it is not a problem since wide variety is offered, fromfree pocket-rocket (like PostgreSQL) to expensive, full-blown (like Oracle, Microsoft SQL Server or IBM DB2).
2222/65/65
2. Marketing aspects2. Marketing aspects
In order to cover Marketing aspects of the SMS In order to cover Marketing aspects of the SMS advertising business, the following three items are advertising business, the following three items are needed:needed:
Flyer (hard-copy), web-site, and CD of Flyer (hard-copy), web-site, and CD of approximately the same contentapproximately the same content
Hierarchical tree of mobile (human) agentsHierarchical tree of mobile (human) agents Interaction procedures (agent-to-customer, Interaction procedures (agent-to-customer,
agent-to-agent, agent-to-engineer)agent-to-agent, agent-to-engineer) of which only the last deserves further of which only the last deserves further
attention.attention.
The deeper explanation of all three interaction procedure The deeper explanation of all three interaction procedure types follows.types follows.
2323/65/65
2.1 Agent-to-customer (customer access)2.1 Agent-to-customer (customer access)
In the first iteration, e-mail is sent (if possible). In the second, In the first iteration, e-mail is sent (if possible). In the second, snail-mail flyer (hard-copy). Third iteration is reserved for snail-mail flyer (hard-copy). Third iteration is reserved for personnal visit by the agent. Next, each customer must sign-personnal visit by the agent. Next, each customer must sign-up the maintenance and update obligations (on a monthly up the maintenance and update obligations (on a monthly basin), which is a condition sine-qua-non. Also, each basin), which is a condition sine-qua-non. Also, each customer must provide a LIST of ‘club members’ (in some customer must provide a LIST of ‘club members’ (in some comprehensible format) including names, cell-phone comprehensible format) including names, cell-phone numbers and likehood factors.numbers and likehood factors.
2.2 Agent-to-agent (vertical agent communication)2.2 Agent-to-agent (vertical agent communication)
Filtering on the way up the hierarchy must be properly Filtering on the way up the hierarchy must be properly defined. The top level agent must receive all above in a defined. The top level agent must receive all above in a ready-to-use-by-engineers format.ready-to-use-by-engineers format.
2.3 Agent-to-engineer2.3 Agent-to-engineer
As mentioned before, data format must be defined.As mentioned before, data format must be defined. Motivation and payment of human resources within the Motivation and payment of human resources within the
infrastructure is left to the provider. Possible business to infrastructure is left to the provider. Possible business to attract coffee shops, restaurants, clubs, discotheques, attract coffee shops, restaurants, clubs, discotheques, medical care, artists, tourist attractions/services/souvenirs, medical care, artists, tourist attractions/services/souvenirs, craftsman...craftsman...
2424/65/65
Company Software
doing
SMS Multicast
A1
A2
A3
A4
A1, A2, A3, A4, ... are clients of A
2525/65/65
MMSMMSMultimedia MessagingMultimedia Messaging
- Built on the well - Built on the well established SMS paradigm established SMS paradigm by adding new services by adding new services step by stepstep by step
- Allows consumers to - Allows consumers to
send and receive send and receive
text, images, graphics, text, images, graphics, voice, audio, voice, audio,
and video clipsand video clips
- In Italy, in the first two - In Italy, in the first two weeks of service weeks of service
over 180.000 Multimedia over 180.000 Multimedia Messages were sentMessages were sent
2626/65/65
Usage of HTML, XHTML and WML in Cellular Telephony
2727/65/65
Transmission of Transmission of XHTML ContentXHTML Content
2828/65/65
Transmission of both Transmission of both XHTML and WML ContentXHTML and WML Content
2929/65/65
ExampleExample
Buying movie tickets
over cellular phones
and its description in HTML
3030/65/65
3131/65/65
<?xml version='1.0'?><!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN’
'http://www.wapforum.org/DTD/xhtml-mobile10.dtd' ><html xmlns='http://www.w3.org/1999/xhtml'><head> <title>Ticket Booking</title> <link rel="stylesheet" href="style.css" type="text/css" /></head><body class='main'>
<p>Welcome to the Ticket Booking<br/> - This is a demo application - </p> <table align='center'> <tr><td class='box' align='center'> <a class='a' accesskey='1'href='movie.jsp'>Browsemovies</a> </td></tr> <tr><td class='box' align='center'> <a accesskey='2' href='cinema.jsp'>Browse cinemas</a> </td></tr> <tr><td class='box' align='center'> <a accesskey='3' href='about.html'>About</a></td></tr> </table></body></html>
3232/65/65
.main {background-color:#345A78 ;color: #D0C0C0;margin: 0px;padding: 0px;border-style: none;vertical-align: middle;text-align: center;font-family: 'courier'}
.box {padding: 8px;border-style: solid;border-width: 1px;border-color: #FFFFFF;}
a {color: #D0C0C0;}
a:hover {color: #B0D4E0;text-decoration: underline;
}
.label {color: #E8E0F0;vertical-align: middle;}
.tfield {border-style: none;background-color:#DEE7EC;color: #213438;font-family: 'courier'}
.button {border-style: none;background-color:#CFCFCF;color: #213438;font-family: 'courier';}
.odd {background-color:#F8F4FF;color: #202020;font-size: 120%;text-align: left;}
.even {text-align: center}
.dedication {font-style: italic;text-align: center;}
//style.css()
3333/65/65
3434/65/65
//movie.jsp()<?xml version='1.0'?><!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN' 'http://www.wapforum.org/DTD/xhtml-mobile10.dtd' ><%@ page contentType="text/html;" %><html xmlns='http://www.w3.org/1999/xhtml'><head>
<title>Search</title> <link rel="stylesheet" type="text/css" href="style.css" />
</head> <body class='main'> In order to search for a movie it is not necessary to
enter the entire title - any part will suffice. <form action='booking.jsp' method='post'>
<table align='center'><tr> <td align='right' class='label'>Title:</td>
<td align='left'>
<input class='tfield' size='15' type='text‘ name='title'/></td>
</tr><tr> <td align='center' colspan='2'> <input class='button' type='reset' value='Delete' />
<input class='button' type='submit' value='Search' /></td>
</tr> </table> </form> </body></html>
3535/65/65
3636/65/65
//booking.jsp()<?xml version='1.0'?><!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN'
'http://www.wapforum.org/DTD/xhtml-mobile10.dtd' ><%@ page contentType="text/html;" %><jsp:useBean id="applicationBean" scope="application" class="booking.Application" ><%
applicationBean.setApplicationContext(application); applicationBean.init();
%></jsp:useBean><html xmlns='http://www.w3.org/1999/xhtml'><head>
<title>Ticket Booking</title> <link rel="stylesheet" type="text/css" href="style.css" />
</head> <body class='main'> <table align='center'>
<% if (request.getParameter("title")!=null)
out.println(applicationBean.movieRepertoire(request.getParameter("title")));
else if (request.getParameter("cinemaID")!=null)
out.println(applicationBean.cinemaRepertoire(
integer.parseInt(request.getParameter("cinemaID"))));%> </table> </body></html>
3737/65/65
//applicationBean.movieRepertoire()
public String movieRepertoire(String title) throws Exception { try{ if ((appCnn==null) || (appCnn.isClosed())) this.connect(); this.s = this.appCnn.createStatement(); this.rs = this.s.executeQuery("SELECT projectionID, title, cinemaname, LEFT(CONVERT(VARCHAR, pdate, 8),5) AS ptime, price, free FROM Free WHERE title LIKE'%" + title + "%' ORDER BY title, cinemaname, ptime"); String repertoire="<tr><td>", prevCinema="", currCinema, prevTitle="“, currTitle; int free; while (rs.next()) { currCinema = rs.getString("cinemaname"); currTitle = rs.getString("title"); if (!currTitle.equals(prevTitle))repertoire += "</td></tr> <tr><td class='odd'>" + currTitle + “ </td></tr> <tr><td class='label'>" + currCinema + "</td></tr> <tr><td class='even'> <a href='do.jsp?pid=" + rs.getString("projectionID") + "'> " + rs.getString("ptime") + “ </a>";
else if (!currCinema.equals(prevCinema)) repertoire += “</td></tr> <tr><td class='label'>" + currCinema + "</td></tr> <tr><td class='even'><a href='do.jsp?pid= " + rs.getString("projectionID") + "'> " + rs.getString("ptime") + “ </a>";
3838/65/65
else repertoire += " <a href='do.jsp?pid=" + rs.getString("projectionID") + "'>"+ rs.getString("ptime") + "</a>"; if ((free=rs.getInt("free"))<=5) repertoire += “ [" + free + "]";
prevCinema = currCinema; prevTitle = currTitle;
} repertoire += "</td></tr>";
this.rs.close(); this.s.close(); return repertoire;
} catch (Exception e) {
throw new Exception ("Application:movieRepertoire()\n" + e.getMessage());
}}
3939/65/65
4040/65/65
<?xml version='1.0'?><!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN'
'http://www.wapforum.org/DTD/xhtml-mobile10.dtd' ><%@ page contentType="text/html;" %><jsp:useBean id="applicationBean" scope="application" class="booking.Application" ><% applicationBean.setApplicationContext(application);
applicationBean.init(); %></jsp:useBean><html xmlns='http://www.w3.org/1999/xhtml'><head>
<title>Booking Confirmation</title> <link rel="stylesheet" type="text/css" href="style.css" />
</head><body class='main'>
<form action='report.jsp' method='post'><table align='center'>
<tr><td><input name='projectionID' type='hidden' value=<%=request.getParameter("pid")%> ></td></tr><%= applicationBean.details(Integer.parseInt(request.getParameter("pid")))%>
<tr><td align='left' class='label'>Tickets:</td><td align='left'>
<select name='tickets'><option value='1'>1 ticket</option><option value='2'>2 tickets</option><option value='3'>3 tickets</option><option value='4'>4 tickets</option><option value='5'>5 tickets</option>
</select></td></tr><tr><td align='left' class='label'>Username:</td>
<td align='left' valign='middle'><input class='tfield' name='username' size='15' type='text' /></td></tr><tr><td align='left' class='label'>Password:</td>
<td align='left' valign='middle'><input class='tfield' name='password' size='15' type='password' /></td></tr><tr><td align='right' colspan='2'>
<input class='button' type='reset' value='Delete' /><input class='button' type='submit' value='Submit' /></td>
</tr></table></form>
</body></html>
4141/65/65
//applicationBean.details()public String details(int projectionID) throws Exception { try { if ((appCnn==null) || (appCnn.isClosed())) this.connect(); this.s = this.appCnn.createStatement(); this.rs = this.s.executeQuery("SELECT cinemaname, title, CONVERT(VARCHAR, pdate, 4) AS projectiondate, LEFT(CONVERT(VARCHAR, pdate, 8),5) AS projectiontime, price, free FROM free WHERE projectionID=" + projectionID); String details=""; if (rs.next()) { details = "<tr><td align='left' class='label'>Title:</td> <td align='left'>" + rs.getString("title") + “ </td></tr>"; details += "<tr><td align='left' class='label'>Cinema:</td> <td align='left'>" + rs.getString("cinemaname") + “ </td></tr>"; details += "<tr><td align='left' class='label'>Date:</td> <td align='left'>" + rs.getString("projectiondate") + "</td> </tr>"; details += "<tr><td align='left' class='label'>Time:</td> <td align='left'>" + rs.getString("projectiontime") + "</td> </tr>"; details += "<tr><td align='left' class='label'>Price per ticket: </td> <td align='left'>" + rs.getString("price") + “ </td> </tr>";
}
4242/65/65
int free=rs.getInt("free");details += "<tr><td align='left' class='label'>Tickets:</td> <td align='left'> <select class='tfield' name='tickets'>"; for(int i=1;(i<=5) && (i<=free);i++) { details += "<option value='" + i +"'> “ + i + " ticket"; if (i!=1) details += "s"; details += "</option>"; } details += "</select></td> </tr>";this.rs.close();this.s.close();return details; } catch (Exception e){ throw new Exception("Application:cinemaRepertoire()\n" + e.getMessage()); }} }
4343/65/65
4444/65/65
4545/65/65
4646/65/65
<?xml version='1.0'?><!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN'
'http://www.wapforum.org/DTD/xhtml-mobile10.dtd' ><%@ page contentType="text/html;" %><jsp:useBean id="applicationBean" scope="application" class="booking.Application" ><%
applicationBean.setApplicationContext(application);applicationBean.init();
%></jsp:useBean><html xmlns='http://www.w3.org/1999/xhtml'><head>
<title>Search By Cinema</title> <link rel="stylesheet" type="text/css" href="style.css" />
</head><body class='main'>
Select one of the city cinemas in order to view it's repertoire.<form action='booking.jsp' method='post'> <table align='center'>
<tr><td align='left'><%=applicationBean.showCinemas()%></td></tr><tr>
<td align='right'><input class='button' type='reset' value='Clear' /><input class='button' type='submit' value='Search' /></td>
</tr> </table></form>
</body></html>
4747/65/65
//applicationBean.showCinemas()
public String showCinemas() throws Exception { try { if ((appCnn==null) || (appCnn.isClosed())) this.connect(); this.s = this.appCnn.createStatement(); this.rs = this.s.executeQuery("SELECT * FROM Cinema"); String cinemas=""; while (rs.next()) cinemas += "<optionvalue='"+rs.getString("cinemaID")+"'>"; cinemas += rs.getString("name") + "</option>"; this.rs.close(); this.s.close(); return cinemas;}catch (Exception e) { throw new Exception ("Application:showCinemas()\n"+e.getMessage()); }
4848/65/65
//sql database – cinemas data()
INSERT INTO Cinema
SELECT 1, ‘Name', 'Address', ‘telephone numb.’ UNIONSELECT 2, 'Jadran', 'Address', ' telephone numb.' UNION
SELECT 3, 'Kosmaj', 'Address', ' telephone numb.' UNIONSELECT 4, 'Balkan', 'Address', ‘ telephone numb.' UNIONSELECT 5, 'Zvezda', 'Address', ‘ telephone numb.' UNIONSELECT 6, '20. Oktobar I', 'Address', ‘telephone numb.’ UNIONSELECT 7, '20. Oktobar II', 'Address', ‘telephone numb.' UNIONSELECT 8, 'Odeon', 'Address', ‘telephone numb.' UNIONSELECT 9, 'Mali Odeon', 'Address', ‘telephone numb.' UNIONSELECT 10, 'Jugoslavija', 'Address', ‘telephone numb.'
4949/65/65
5050/65/65
5151/65/65
5252/65/65
<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd" ><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>About</title> <link rel='stylesheet' href='style.css' type='text/css' /></head><body class='main'> <table align='center'> <tr><td class='odd' align='left'>Application written by:</td></tr> <tr><td align='left'>Sanida Omerovic</td></tr> <tr><td align='right'>[email protected]</td></tr> <tr><td align='left'>Damjan S. Vujnovic</td></tr> <tr><td align='right'>[email protected]</td></tr> <tr><td class='odd' align='left'>Credits to:</td></tr> <tr><td align='left'>Veljko Milutinovic</td></tr> <tr><td align='right'>[email protected]</td></tr> <tr><td align='left'>SUN Microsystems</td></tr> <tr><td align='right'>www.java.sun.com</td></tr> <tr><td align='left'>IBM</td></tr> <tr><td align='right'>www.ibm.com/developerworks</td></tr> <tr><td align='left'>NOKIA</td></tr> <tr><td align='right'>www.nokia.com</td></tr> <tr><td class='odd' align='left'>Dedication(s)</td></tr> <tr><td class='dedication'>Dedicated to Damjan J. Vujnovic<br />The Man as big as can be...</td></tr> <tr><td align='right'>D.S.V.</td></tr> </table></body></html>
5353/65/65
What is Hot?VIRTUAL REALITY MODELING
Krzysztof Walczak [email protected] Cellary [email protected]“X-VRML for Advanced Virtual Reality Applications,”IEEE Computer, Vol. 38, No 3, March 2003,pp. 89-92.
5454/65/65
Virtual Reality Standards
1.VRML/X3D (www. Web3d.org) X3D extends VRML with new features, advanced applications programming interfaces, additional data encoding formats, and a modular approach to implementation.
2. MPEG-4 (mpeg.telecomitalialab.com/) is a comprehensive standard for networked multimedia applications. It supports standard audio and video as well as synthetic 2D and 3D content.
5555/65/65
<?xml version=“1.0” encoding=“UTF-8”?><XVRML type=“XVRML_Generic” target=“X3D:XML”><X3D profile= “Interactive”> <Scene> <PointLight location=“0 10 0”/> <Background skyColor=“1 1 1”/> <DBConnect connDriver=“…” connString=“…”> <DBQuerry names=“number, value” sql=“select p_number, p_value from prices” evaluate=“true”> <Transform translation=“{$number} {$value/2} 0”> <Shape> <Cylinder radius=“0.3” height=“{$value}”/> <Appearance> <Material diffuseColor=“1 {($value gt $MIN)?1:0} 0”/> </Apperance> </Shape> </Transform> <If condition=“{$prev_value!=NULL}”> <Then> <Set name=“rot” value=“{($prev_value It $value)?0:3.14}”/> <Transform translation=“{$number} {$value+0.5} 0” rotation=“1 0 0 {$rot}”> <Shape> <Cone height=“0.3” bottomRadius=“0.3”/> <Apperance> <Material diffuseColor=“0 1 0”/> </Apperance> </Shape> </Transform> </Then> </If> <Set name=“prev_value” value=“{$value}/> </DBQuery> </DBConnect> </Scene></X3D></XVRML>
The X-VRML Syntax
5656/65/65
Screenshot of a virtual scene created in a previous X-VRML model code.The scene depends on both database and user-specified values.
An X-VRML Example
5757/65/65
X-VRML Implementation
Client - side interpretation provides maximum user interaction
Server - side interpretationoffers database access with higher performance and greater security
5858/65/65
Professional ServicesProfessional Services
Planning Planning Deploying Deploying ManagingManaging Keeping network at a peak performanceKeeping network at a peak performance
5959/65/65
Delivery&Charging centerDelivery&Charging center
Users can choose Users can choose
the applicationsthe applications
they want to they want to download download
CreationCreation
of innovative and of innovative and compelling tariffs compelling tariffs drivers service uptake drivers service uptake and and differentiates youdifferentiates you from from
the competition the competition
6060/65/65
The Rights Of Content The Rights Of Content CreatorsCreators
Gain consumers Gain consumers trusttrust
Protect providers Protect providers Separate license Separate license
information information from the contentfrom the content
6161/65/65
Bronze SponsorsBronze Sponsors
AGS Trade d.o.o [email protected] Trade d.o.o [email protected] Banka www.atlas.co.yuATLAS Banka www.atlas.co.yuBOZIC I SINOVI hardware and software BOZIC I SINOVI hardware and software [email protected]@bozic.co.yu www.bozic.co.yuwww.bozic.co.yuTEPCAKOM d.o.o [email protected] d.o.o [email protected] Tours [email protected] GEA Tours [email protected] BIT 011 [email protected] 011 [email protected] [email protected]@yubc.net
www.yuinfovodic.co.yu/bit011.htmwww.yuinfovodic.co.yu/bit011.htm
6262/65/65
Silver SponsorsSilver Sponsors
SAGA Group [email protected] Group [email protected]
www.saga.co.yuwww.saga.co.yu
TeleGroup TeleGroup www.signalnet.co.yu/teleg.htmlwww.signalnet.co.yu/teleg.html
SPINNAKER SPINNAKER New TechnologiesNew Technologies
[email protected]@spinnaker-nt.com
www.yuinfovodic.co.yu/spinnaker.htmwww.yuinfovodic.co.yu/spinnaker.htm
6363/65/65
Golden SponsorGolden Sponsor
Digital TelekomDigital Telekom, , Novi Sad, Vojvodina, Serbia, YugoslaviaNovi Sad, Vojvodina, Serbia, Yugoslavia `/fax: +381-21-51-527, +381-21-470-000`/fax: +381-21-51-527, +381-21-470-000 e-mail: [email protected]: [email protected] - supplying the market of - supplying the market of modern telecommunications modern telecommunications - featuring several years cooperation- featuring several years cooperation with with BOSH TELECOMBOSH TELECOM,, ISDN ISDN (Integrate Service Digital Network) and(Integrate Service Digital Network) and INTEGRAL 33xE INTEGRAL 33xE (complete digital 2G telecommunication system by BOSH (complete digital 2G telecommunication system by BOSH
TELECOM)TELECOM)
6464/65/65
ReferencesReferenceswww.nokia.comwww.nokia.com
www.ericsson.comwww.ericsson.comwww.gsmworld.comwww.gsmworld.comwww.bluetooth.comwww.bluetooth.comwww.panasonic.comwww.panasonic.comwww.openwave.comwww.openwave.com
www.my-siemens.comwww.my-siemens.com
6565/65/65
Instead of a ConclusionInstead of a Conclusion
Sanida [email protected]
Veljko [email protected]
frodo.etf.bg.ac.yu/sanidagaleb.etf.bg.ac.yu/~damjangaleb.etf.bg.ac.yu/~vm
FEEL FREE TO SEND US A SMS ANYTIME!FEEL FREE TO SEND US A SMS ANYTIME!
Damjan S. [email protected]