Server Side Development for Smart Clients, Game Development. Smart Client Architecture
|
|
- Ellen Morgan
- 7 years ago
- Views:
Transcription
1 Server Side Development for Smart Clients, Game Development David Tipper Associate Professor Department of Information Science and Telecommunications University of Pittsburgh Slides 7 Smart Client Architecture Custom software executes on Devices Components: Smart clients Synchronization server data/content source may include proxies or gateways Smart Clients Base Station Wired connection WWAN Wireless Gateway Internet Synchronization server Enterprise Data Sources 2 1
2 Platform Independence Rather than develop multiple versions of the same application for various platforms strive for platform independence Primary Tools Sun s Java 2 Micro Edition (J2ME) Run java apps on a java virtual machine (JVM) Microsoft.NET Compact Framework (.NET CF) Run on Microsoft s Common Language Runtime (CLR) platform 3 Distributed Application Architectures 1-Tier Architecture All the layers are tightly integrated 2-Tier Architecture The presentation layer and some or all of the business logic is spread across to the clients Server becomes more or less just a database server N-Tier Architecture The Presentation layer is located on the client device The Business Logic layer on a shared computer (application server) The data access layer on a database server Presentation Layer Business Logic Layer Data Access Layer 4 2
3 2-Tier Architecture User interface and business logic is bound to an individual application on the device Thin Client vs. Fat Client How large the business logic is embedded in the client device Pros: Applications are easy and relatively inexpensive to develop Performance is reasonable good Cons Parts of applications on clients might be very complex and expensive to maintain Low reusability Presentation Layer (MIDlet UI) Business Logic Layer (MIDlet engine) J2ME/MIDP Client Data Access Layer Server 5 3-Tier Architecture Business logic at the application server has a dual role: Act as a server towards client devices Act as a client towards the database server Pros: Decoupling layer implementation Codes are easy to upgrade High reusability Easy to enhance with security, load balancing, etc. Cons Complex implementation May degrade the performance for a simple application Presentation Layer (MIDlet UI) Business Logic Layer (MIDlet engine) J2ME/MIDP Client Business Logic Layer Application Server Data Access Layer Database Server 6 3
4 Server Side Development Issues related to server side development relate to Tier model Managing code to client Synchronization Data management updates up/down Two platforms Microsoft.NET for.net CF C# applications Sun Java platform (J2EE) for J2ME apps 7 Java Server Side Development Servlet: Standard are Java 2 programs which run on the server. MIDlet: The application, a MIDlet, was designed for the Mobile Information Device Profile, one of the J2ME specifications. The MIDlets can connect to servlets using http/gcf as discussed earlier. Servlet implement server side functionality (ex, available seats in movie theatre) Servlets developed in standard J2SE or J2EE environment using development tools like Tomcat, Netbeans, etc. 8 4
5 J2ME to J2EE Overview Data persistence possible on the client, server or both Client MIDP Record Management System (RMS) APIs allows for data storage that is persistent on the device HTTP provides the bridge between J2ME (MIDP) and the J2EE Platform Both Platforms use HTTP/HTTPS (MIDP 1.0.3) MIDP supports HTTP 1.1 and APIs for generating GET, POST, and HEAD requests Messages may tunnel through different protocols that are transparent to the client and server MIDlet can send any Message Format in the body of a HTTP request XML, Text, binary, Mime-types are used to indicate body format/type 9 HTTP Originally designed for transferring raw data, such as Web pages, across the Internet Ideal Client/Server Communication protocol for mobile Java applications. High compatibility and portability Firewall Friendly 10 5
6 MIDlet-Servlet Communication Through HTTP HTTP Get The input values are sent as part of the URL in the QUERY_STRING environment variable. Easy to develop o Support only text o Limit in length HTTP Post Data is sent to the server as an input stream independently from the URL, and its length is saved in the CONTENT_LENGTH environment variable. Data volume is not constrained Support binary data o May not be efficient 11 HTTP Get vs. HTTP Post Student#: <form action=" method="get"> Student#: <input type="text" name="idnum" size=30> <input type="submit"> </form> Submit <form action=" method= POST"> Student#: <input type="text" name="idnum" size=30> <input type="submit"> </form> m/cgi-bin/gergrade.cgi idnum=
7 J2ME to J2EE Areas to Consider for J2ME to J2EE Communications Session: Sequence of service requests by single user using a client to access server State: Information maintained in the session across requests. Ex: Contents of Shopping Cart Personalization data: Information about the user, such as address, SSN, etc This information does not normally change from session to session, thus a J2ME application should use it to enhance the user s experience. 13 J2ME to J2EE Managing Session States for MIDlet to J2EE Communications HTTP is a stateless protocol. The Java Servlet API provides a HTTPSession object to work around this limitation J2EE App Servers use 3 methods to maintain integrity of HTTP Sessions: Using Cookies Using URL Rewriting Using HTTPS MIDP Devices can use all these 3 methods Managing Personalization Data for MIDlets Session Management may be transient Personalization data by nature is Persistent Major benefit of utilizing Personalization is fewer interaction for the user 14 7
8 J2ME Connection Types HTTP/HTTPS Very simple to use XML over HTTP/HTTPS Beginning to be a viable choice due to varying parsers available Model Creates an object representation of a document in memory (e.g., DOM) Push Parses through an entire document, spitting out events to registered listeners Pull Parses a little at a time, returning a single element or tag 15 Wireless Web Services APIs (1) J2ME Web Services (JSR 172) J2ME Web Services specification goals Access remote SOAP/XML based web services Does not support web service hosting capabilities JAX-RPC subset» Must support stub based invocation (stub created using WSDL)» No support yet for Dynamic proxies and Dynamic Invocation Interface (DII)» No asynchronous messaging with attachment support» Not required to support Java beans Provides parsing XML data JAXP subset» Must support SAX 2.0 (with exceptions)» Must not support DOM 16 8
9 Wireless Web Services APIs 1 (2) SOAP and J2ME J2ME has only limited string functionalities, a problem for every wireless java XML parser J2ME/CLDC lacks support Float datatypes SOAP parsing requires to read the whole document ksoap & kxml ksoap API with Small footprint ksoap is open source and based on kxml Adds support for data types not supported by J2ME kxml Non validating XML pull parser 17 MIDlet, J2EE Deployment, On the J2EE side, the Servlets and any other J2EE components such as EJBs are packaged in a JAR file, which along with any WARs go in an EAR file together with a deployment descriptor You can use the many tools that many App Servers provide to accomplish the packaging MIDP application (code and any resources) packaged into a JAR file a JAD file accompanies the JAR file Over The AIR (OTA) Provisioning provides guidelines for deploying the MIDlet on MIDP devices 18 9
10 Servlet Development Cycle Enable the invoker servlet Create a Java class that extends javax.servlet.http.httpservlet Testing and Debugging Deployment 19 Example Create a web-application to count number of Hits Enable the invoker servlet <?xml version="1.0" encoding="iso "?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>hitservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/hits</url-pattern> </servlet-mapping> </web-app> 10
11 Writing a Counting Servlet HitServlet simply counts the number of times it's been invoked and writes back to the client a message containing the count. import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class HitServlet extends HttpServlet { private int mcount; public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String message = "Hits: " + ++mcount; response.setcontenttype("text/plain"); response.setcontentlength(message.length()); PrintWriter out = response.getwriter(); out.println(message); Hooking Up a MIDlet to the Servlet Create a command action method in your MIDlet: public void commandaction(command c, Displayable s) { if (c == mexitcommand) notifydestroyed(); else if (c == mconnectcommand) { Form waitform = new Form("Waiting..."); mdisplay.setcurrent(waitform); Thread t = new Thread() { public void run() { connect(); ; t.start(); 11
12 Hooking Up a MIDlet to the Servlet The Connect method private void connect() { HttpConnection hc = null; InputStream in = null; String url = getappproperty("hitmidlet.url"); try { hc = (HttpConnection)Connector.open(url); in = hc.openinputstream(); int contentlength = (int)hc.getlength(); byte[] raw = new byte[contentlength]; int length = in.read(raw); in.close(); hc.close(); // Show the response to the user. String s = new String(raw, 0, length); mmessageitem.settext(s); catch (IOException ioe) { mmessageitem.settext(ioe.tostring()); mdisplay.setcurrent(mmainform); Enhanced Counting Server Count Number of Hits for Each Client Using Cookies for Session Tracking Cookie: a little piece of data that is passed from the server to the client in an HTTP response MIDLet associated with a session ID Each time the MIDlet sends a request to the server, it will be sending a session ID as a request header Server manages the counter It uses the session ID from MIDlet to look up the counter object to increment and return the value back to the MIDlet 24 12
13 CookieServlet public class CookieServlet extends HttpServlet { private Map mhitmap = new HashMap(); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getsession(); String id = session.getid(); int hits = -1; Integer hitsinteger = (Integer)mHitMap.get(id); if (hitsinteger!= null) hits = hitsinteger.intvalue(); hits++; mhitmap.put(id, new Integer(hits)); String message = "Hits for this session: " + hits + "."; response.setcontenttype("text/plain"); response.setcontentlength(message.length()); PrintWriter out = response.getwriter(); out.println(message); Using HashMap to store counter for each client Extract session ID from the request Increment, store, and return 25 Cookie MIDLet Public void run() { // Query the server and retrieve the response. HttpConnection hc = (HttpConnection)Connector.open(url); if (msession!= null) hc.setrequestproperty("cookie", msession); InputStream in = hc.openinputstream(); String cookie = hc.getheaderfield("set-cookie"); if (cookie!= null) { int semicolon = cookie.indexof(';'); msession = cookie.substring(0, semicolon); int length = (int)hc.getlength(); byte[] raw = new byte[length]; in.read(raw); String s = new String(raw); Alert a = new Alert("Response", s, null, null); a.settimeout(alert.forever); mdisplay.setcurrent(a, mform); in.close(); hc.close(); Query the server with a session ID Retrieve response from the server Display the result 26 13
14 J2ME Development Basic steps as any software application development Characterize the application (what will user be able to do?) For example check movie times and buy tickets Identify tasks and target devices Choose a movie, find a theater, view show times, buy ticket Sketch tasks/application flow Create a mock up Determine server side functionality 27 Recommended J2ME Programming Practices Keep in mind that there are strict memory constraints on most CLDC target devices Allocate memory resources just before use Free resources as soon as they are not needed Avoid allocating small temporary chunks of memory to avoid heap fragmentation Make local copies of global variables Avoid redundant method calls, and inline functions rather than creating a new class Optimize loops 28 14
15 Game Development Analyst Predictions for Mobile Games $2.8 billion in 2006 In-Stat/MDR $3.5 billion in Informa Media $4.4 billion in 2006 Ovum $9.3 billion in Frost and Sullivan $9 billion in 2010 Informa Media Mobile games expected to fall into many game genres Word and Trivia Games Puzzle Games Sports Games Action Games Multi-player games Location based games 29 Handheld Games Challenges of Limited device CPU Speed Screen size and colors Memory size and speed Input Latency For networked games Basic Game Components Graphics and Animation User Input Sound Networking 30 15
16 Handheld Games Basic Game Features Storyline Play Mode Single player standalone Multiplayer turn based vs. simultaneous vs. round robin Game Engine Options» On each client device and have clients connect in peer to peer fashion» Independent server that manages game state distributes events to players Map (space where game takes place) Design patterns exist for games Document / View pattern Model+Functions / User Interfaces 31 General Game Architecture/Components Map: models physical space where the game takes place; can be many viewers for the same map (e.g. 2d and 3d viewers). Generic Game Loop While the game is not over: read from the user process the user input process all automatic moves generate new state of the model before: check that moves are legal after: check for game over or winning situations refresh views sleep/synchronize 32 16
17 Game Enabling Technology Development platforms for games: J2ME Largest global market, used by most carriers Binary Runtime Environment Wireless (BREW) (C++ for games) Used by Verizon, largest US carrier Symbian Supports C++, Java, VB Windows.NET CF Mobile SmartPhone C#, VB.NET 33 Multi-Player Network Games Due to wireless network limitations, have following general guidelines Operate in standalone disconnected mode as much as possible, only connect to network if needed Try to batch message exchanged between players Perform client-side validations Make operations interruptible Provide progress meters and splash screens 34 17
18 J2ME Game Development javax.microedition.lcdui.game Series of Classes for the development of games APIs are optimized by device using native code Game APIs consist of Layer, Sprite, TiledLayer, LayerManager, GameCanvas 35 J2ME Game Development 36 18
19 J2ME Game Development Layer Abstract class that represents a visual element of the game Sprite Animated Layer displays one of several graphical frames Frames are equal size and provided by a single object Custom animation sequence possible Collision detection and transformation methods provided Tiled Layer A layer made up of a group of cells Cells filled with single image object or can be animated with rapid changes Use for background Sprites Tiled Layer 37 J2ME Game Development Layer Manager Provides APIs that control game s layers and how rendered on the screen Game Canvas Game engine 38 19
20 Game Blueprints Sun has developed set of wireless/handheld game blueprints Standalone Networked Basic game features coded as example games to show how tiled layer, sprites, layer manager game canvas, etc. work. Similarly Microsoft has a series of game forms for development of games in.net CF 39 Standalone Game Example Article discussing details of example game at Code: Player controls a paddle, which can be moved to the right, and to the left. To prevent the ball from falling out the bottom, the player has to keep moving the paddle to the point where the ball would drop out. The game is organized into levels. In each level, there are a number of bricks placed in the playing field. Some of these bricks will just disintegrate upon contact with the ball, some have special properties. The player has to use the ball to clear all destructible bricks from the playing field to advance to the next level. If the ball drops out the bottom, the player loses a life. The player has three lives. Once all lives are used up, the game is over
21 Multi-player Networked Game Example Article discussing details of example networked game Code: Two player, level based game Players control their characters (slugs) through their phone Slugs must move and avoid obstacles (brick walls, poison, opponent, boundaries) Goal is to be the first player to reach the one slug house in each level Some levels have extra lives & lettuce to boost slugs energy 41 21
Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java
Java EE Introduction, Content Component Architecture: Why and How Java EE: Enterprise Java The Three-Tier Model The three -tier architecture allows to maintain state information, to improve performance,
More informationWeb Container Components Servlet JSP Tag Libraries
Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. dean@javaschool.com Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request
More information2.8. Session management
2.8. Session management Juan M. Gimeno, Josep M. Ribó January, 2008 Session management. Contents Motivation Hidden fields URL rewriting Cookies Session management with the Servlet/JSP API Examples Scopes
More informationJava ME Clients for XML Web Services
66 Java ME Clients for XML Web Services Paul POCATILU Academy of Economic Studies, Bucharest Using Web services in developing applications has many advantages like the existence of standards, multiple
More informationACM Crossroads Student Magazine The ACM's First Electronic Publication
Page 1 of 8 ACM Crossroads Student Magazine The ACM's First Electronic Publication Crossroads Home Join the ACM! Search Crossroads crossroads@acm.org ACM / Crossroads / Columns / Connector / An Introduction
More informationWeb Application Programmer's Guide
Web Application Programmer's Guide JOnAS Team ( Florent BENOIT) - March 2009 - Copyright OW2 consortium 2008-2009 This work is licensed under the Creative Commons Attribution-ShareAlike License. To view
More informationHow to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
More informationAn introduction to web programming with Java
Chapter 1 An introduction to web programming with Java Objectives Knowledge Objectives (continued) The first page of a shopping cart application The second page of a shopping cart application Components
More informationDTS Web Developers Guide
Apelon, Inc. Suite 202, 100 Danbury Road Ridgefield, CT 06877 Phone: (203) 431-2530 Fax: (203) 431-2523 www.apelon.com Apelon Distributed Terminology System (DTS) DTS Web Developers Guide Table of Contents
More informationImplementing Mobile Thin client Architecture For Enterprise Application
Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON
More informationNokia 9210i/9290 Communicators and PersonalJava TM Application Development
Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...
More informationJava ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems
Java ME & NetBeans Mobility Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda Java ME introduction Java ME applications NetBeans Mobility Edition Power of advanced features Demos, demos,
More informationHow To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post
Understanding Architecture and Framework of J2EE using Web Application Devadrita Dey Sarkar,Anavi jaiswal, Ankur Saxena Amity University,UTTAR PRADESH Sector-125, Noida, UP-201303, India Abstract: This
More informationContents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
More informationDevelopment of Java ME
Y39PDA Development of Java ME application České vysoké učení technické v Praze Fakulta Elektrotechnická Content What is Java ME Low Level a High Level API What is JSR LBS Java ME app. life-cycle 2/29 Is
More informationJava Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team
Java Platform, Micro Edition (Java ME) Mokoena F.R The 7046 Team 1. Introduction Java Platform, Micro Edition (Java ME) technology is one of the popular mobile application runtime. It provides developers
More informationUsing mobile phones to access Web Services in a secure way. Dan Marinescu
Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise
More informationAnnouncements. Comments on project proposals will go out by email in next couple of days...
Announcements Comments on project proposals will go out by email in next couple of days... 3-Tier Using TP Monitor client application TP monitor interface (API, presentation, authentication) transaction
More informationJ2EE Web Development. Agenda. Application servers. What is J2EE? Main component types Application Scenarios J2EE APIs and Services.
J2EE Web Development Agenda Application servers What is J2EE? Main component types Application Scenarios J2EE APIs and Services Examples 1 1. Application Servers In the beginning, there was darkness and
More information15-415 Database Applications Recitation 10. Project 3: CMUQFlix CMUQ s Movies Recommendation System
15-415 Database Applications Recitation 10 Project 3: CMUQFlix CMUQ s Movies Recommendation System Project Objective 1. Set up a front-end website with PostgreSQL back-end 2. Allow users to login, like
More informationWeb Programming: Announcements. Sara Sprenkle August 3, 2006. August 3, 2006. Assignment 6 due today Project 2 due next Wednesday Review XML
Web Programming: Java Servlets and JSPs Sara Sprenkle Announcements Assignment 6 due today Project 2 due next Wednesday Review XML Sara Sprenkle - CISC370 2 1 Web Programming Client Network Server Web
More informationMobile Development Discovery Document
Mobile Development Discovery Document Prepared By: Abdul Wadood, Atifa Nadeem, Naima Khan and Haris Khan All Rights Reserved No part of this publication may be reproduced, reformatted or transmitted in
More informationArchitectural Overview
Architectural Overview Version 7 Part Number 817-2167-10 March 2003 A Sun ONE Application Server 7 deployment consists of a number of application server instances, an administrative server and, optionally,
More informationClustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002
Page 1 of 9 Published on The O'Reilly Network (http://www.oreillynet.com/) http://www.oreillynet.com/pub/a/onjava/2002/07/17/tomcluster.html See this if you're having trouble printing code examples Clustering
More informationWEB SERVICES. Revised 9/29/2015
WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...
More informationStep into the Future: HTML5 and its Impact on SSL VPNs
Step into the Future: HTML5 and its Impact on SSL VPNs Aidan Gogarty HOB, Inc. Session ID: SPO - 302 Session Classification: General Interest What this is all about. All about HTML5 3 useful components
More informationCreating Java EE Applications and Servlets with IntelliJ IDEA
Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationPROGRESS Portal Access Whitepaper
PROGRESS Portal Access Whitepaper Maciej Bogdanski, Michał Kosiedowski, Cezary Mazurek, Marzena Rabiega, Malgorzata Wolniewicz Poznan Supercomputing and Networking Center April 15, 2004 1 Introduction
More informationIntroduction to J2EE Web Technologies
Introduction to J2EE Web Technologies Kyle Brown Senior Technical Staff Member IBM WebSphere Services RTP, NC brownkyl@us.ibm.com Overview What is J2EE? What are Servlets? What are JSP's? How do you use
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationWeb Application Architecture (based J2EE 1.4 Tutorial)
Web Application Architecture (based J2EE 1.4 Tutorial) 1 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee of Sun Microsystems, the contents here are created as his own personal
More informationProject: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT
Undergraduate Research Opportunity Programme (UROP) Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT Supervisor Professor Kong Pe Hin Hinny Nanyang Technological University Email: ephkong@ntu.edu.sg
More informationThe Study on Mobile Phone-oriented Application Integration Technology of Web Services 1
The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 Li Luqun 1, 2 Li Minglu 1 Cui Xianguo 2 1. Department of Computer Science of Shanghai Jiaotong University, 1954 Huashan
More informationAn Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
More informationServlets. Based on Notes by Dave Hollinger & Ethan Cerami Also, the Online Java Tutorial by Sun
Servlets Based on Notes by Dave Hollinger & Ethan Cerami Also, the Online Java Tutorial by Sun 1 What is a Servlet? A Servlet is a Java program that extends the capabilities of servers. Inherently multi-threaded.
More informationGlassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
More informationComponent Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006
Sophie Chabridon INT - INF Department - Distributed Systems team 2006 Outline 1. Introduction................................................................... 3 2. Overview of EJB Technology.................................................
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationMobile application development J2ME U N I T I I
Mobile application development J2ME U N I T I I Overview J2Me Layered Architecture Small Computing Device requirements Run Time Environment Java Application Descriptor File Java Archive File MIDlet Programming
More informationDeveloping Java Web Services
Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students
More informationExtreme Java G22.3033-006. Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti
Extreme Java G22.3033-006 Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Agenda
More informationEvaluation of Distributed SOAP and RESTful Mobile Web Services
International Journal on Advances in Networks and Services, vol 3 no 3 & 4, year 21, http://www.iariajournals.org/networks_and_services/ 447 Evaluation of Distributed SOAP and RESTful Mobile Web Services
More informationRedbooks Paper. WebSphere Application Server V5 Architecture. Carla Sadtler
Redbooks Paper Carla Sadtler WebSphere Application Server V5 Architecture WebSphere Application Server is IBM 's implementation of the J2EE (Java 2 Enterprise Edition) platform, conforming to V1.3 of the
More informationM-GIS Mobile and Interoperable Access to Geographic Information
M-GIS Mobile and Interoperable Access to Geographic Information Jorge Cardoso 1, Artur Rocha 1, João Correia Lopes 1,2 1 INESC Porto, R. Dr. Roberto Frias, 4200-465 Porto http://www.inescporto.pt/ {jcsc,artur.rocha,jlopes}@inescporto.pt
More informationThe Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
More informationImplementing Java Distributed Objects with JDBC
Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University
More informationNetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting
More informationINTRODUCTION TO WEB TECHNOLOGY
UNIT-I Introduction to Web Technologies: Introduction to web servers like Apache1.1, IIS, XAMPP (Bundle Server), WAMP Server(Bundle Server), handling HTTP Request and Response, installation of above servers
More informationDeveloping an EJB3 Application. on WebSphere 6.1. using RAD 7.5
Developing an EJB3 Application on WebSphere 6.1 using RAD 7.5 Introduction This tutorial introduces how to create a simple EJB 3 application using Rational Application Developver 7.5( RAD7.5 for short
More informationManual. Programmer's Guide for Java API
2013-02-01 1 (15) Programmer's Guide for Java API Description This document describes how to develop Content Gateway services with Java API. TS1209243890 1.0 Company information TeliaSonera Finland Oyj
More informationBuilding Web Applications, Servlets, JSP and JDBC
Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing
More informationProject SailFin: Building and Hosting Your Own Communication Server.
FSFS Conference: Dec 9-11, Thiruvananthapuram Project SailFin: Building and Hosting Your Own Communication Server. Binod PG Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda SailFin: Open Source Java
More informationWhat Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
More informationManaging Data on the World Wide-Web
Managing Data on the World Wide-Web Sessions, Listeners, Filters, Shopping Cart Elad Kravi 1 Web Applications In the Java EE platform, web components provide the dynamic extension capabilities for a web
More informationDevelopment of Web Applications
Development of Web Applications Principles and Practice Vincent Simonet, 2013-2014 Université Pierre et Marie Curie, Master Informatique, Spécialité STL 3 Server Technologies Vincent Simonet, 2013-2014
More informationIf you wanted multiple screens, there was no way for data to be accumulated or stored
Handling State in Web Applications Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web sources: Professional Java Server Programming, Patzer, Wrox Web Technologies:
More informationAgenda. Summary of Previous Session. Application Servers G22.3033-011. Session 3 - Main Theme Page-Based Application Servers (Part II)
Application Servers G22.3033-011 Session 3 - Main Theme Page-Based Application Servers (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
More informationMobile Software Development Services
Mobile Software Development Services Rapidsoft Systems has extensive domain knowledge when it comes to wireless and mobile application solutions. We like to build smart phone applications for cellular
More informationTomcat 5 New Features
Tomcat 5 New Features ApacheCon US 2003 Session MO10 11/17/2003 16:00-17:00 Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Slides: http://www.apache.org/~craigmcc/ Agenda Introduction
More informationTutorial: Development of Interactive Applications for Mobile Devices
Tutorial: Development of Interactive Applications for Mobile Devices 7th International Conference on Human Computer Interaction with Mobile Devices and Services (Mobile HCI 2005) (Media Informatics Group,
More information1 Introduction. 3 Open Mobile IS components 3.1 Embedded Database 3.2 Web server and Servlet API 3.3 Service API and template engine
1 S u m m a r y 1 Introduction 2 Open Mobile IS Framework 2.1 Presentation 2.2 Main concepts 2.2.1 Accessibility 2.2.2 Availability 2.2.3 Evolution capabilities 2.3 Open Mobile IS constrains Answer 2.3.1
More informationLocation-Based Information Systems
Location-Based Information Systems Developing Real-Time Tracking Applications Miguel A Labrador Alfredo J Perez Pedro M Wightman CRC Press Taylor & Francis Group Boca Raton London New York CRC Press Is
More information25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
More informationWeb Service Development Using CXF. - Praveen Kumar Jayaram
Web Service Development Using CXF - Praveen Kumar Jayaram Introduction to WS Web Service define a standard way of integrating systems using XML, SOAP, WSDL and UDDI open standards over an internet protocol
More informationJava 2 Web Developer Certification Study Guide Natalie Levi
SYBEX Sample Chapter Java 2 Web Developer Certification Study Guide Natalie Levi Chapter 8: Thread-Safe Servlets Copyright 2002 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World rights
More informationJava 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
More informationPrinciples and Techniques of DBMS 5 Servlet
Principles and Techniques of DBMS 5 Servlet Haopeng Chen REliable, INtelligentand Scalable Systems Group (REINS) Shanghai Jiao Tong University Shanghai, China http://reins.se.sjtu.edu.cn/~chenhp e- mail:
More informationHow To Create A C++ Web Service
A Guide to Creating C++ Web Services WHITE PAPER Abstract This whitepaper provides an introduction to creating C++ Web services and focuses on:» Challenges involved in integrating C++ applications with
More information7 Web Databases. Access to Web Databases: Servlets, Applets. Java Server Pages PHP, PEAR. Languages: Java, PHP, Python,...
7 Web Databases Access to Web Databases: Servlets, Applets Java Server Pages PHP, PEAR Languages: Java, PHP, Python,... Prof. Dr. Dietmar Seipel 837 7.1 Access to Web Databases by Servlets Java Servlets
More informationMIDlet development with J2ME and MIDP
MIDlet development with J2ME and MIDP ibm.com/developerworks Table of Contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Introduction...
More informationManaging Complexity in Mobile Application Deployment Using the OSGi Service Platform
Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform Rafiul Ahad, Ph.D. Vice President, Mobile Products and Services Oracle Corporation copyright 2004 by OSGi Alliance All
More informationNo no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
More informationCONTROLLING WEB APPLICATION BEHAVIOR WITH
CONTROLLING WEB APPLICATION BEHAVIOR WITH WEB.XML Chapter Topics in This Chapter Customizing URLs Turning off default URLs Initializing servlets and JSP pages Preloading servlets and JSP pages Declaring
More informationJAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.
"( JAVA. EXAMPLES IN A NUTSHELL Third Edition David Flanagan O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Preface xi Parti. Learning Java 1. Java Basics 3 Hello
More informationMobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations
Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations R.S.S.Vishnu Priya, P.Panini Sai, K.Ruth Ramya, N.Chandra Sekhar, K.Venkata Prasad, P.D.Nageswara Rao Dept. of CSE, KLCE Vaddeswaram,
More informationHello World Portlet Rendered with JSP for WebSphere Portal Version 4.1
1 of 11 16.10.2002 11:41 Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 Table of Contents Creating the directory structure Creating the Java code Compiling the code Creating the
More informationIntroduction to Sun ONE Application Server 7
Introduction to Sun ONE Application Server 7 The Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services. It offers
More informationImplementing the Shop with EJB
Exercise 2 Implementing the Shop with EJB 2.1 Overview This exercise is a hands-on exercise in Enterprise JavaBeans (EJB). The exercise is as similar as possible to the other exercises (in other technologies).
More informationSession Tracking Customized Java EE Training: http://courses.coreservlets.com/
2012 Marty Hall Session Tracking Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 2 Customized Java EE Training: http://courses.coreservlets.com/
More informationCACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS
CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application
More informationIntroduction to Mobile Phone. Programming in Java Me
Introduction to Mobile Phone Programming in Java Me (prepared for CS/ECE 707, UW-Madison) Author: Leszek Wiland and Suman Banerjee 1 Content 1. Introduction 2. Setting up programming environment 3. Hello
More informationWhat is ArcGIS Comprised Of?
ArcGIS Server 9.1 What is ArcGIS Comprised Of? ArcGIS Desktop Integrated suite of GIS applications ArcGIS Engine Embeddable developer components Server GIS ArcSDE, ArcIMS, ArcGIS Server Mobile GIS ArcPad
More informationDeveloping Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004
Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost
More informationDeveloping Web Services with Documentum
Developing Web Services with Documentum Documentum Technical White Paper September 16, 2002 Erin Samuels Page 1 of 50 INTRODUCTION... 4 INDUSTRY MOMENTUM... 4 ABOUT THIS DOCUMENT... 4 THE DOCUMENTUM ECM
More informationControlling Web Application Behavior
2006 Marty Hall Controlling Web Application Behavior The Deployment Descriptor: web.xml JSP, Servlet, Struts, JSF, AJAX, & Java 5 Training: http://courses.coreservlets.com J2EE Books from Sun Press: http://www.coreservlets.com
More informationIntroduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )
Introduction to BlackBerry Development using Java ME Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion ) 2 Introduction to BlackBerry MDS BlackBerry Mobile Data System (BlackBerry
More informationWEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9
UNIT I J2EE Platform 9 Introduction - Enterprise Architecture Styles - J2EE Architecture - Containers - J2EE Technologies - Developing J2EE Applications - Naming and directory services - Using JNDI - JNDI
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationPenetration from application down to OS
April 8, 2009 Penetration from application down to OS Getting OS access using IBM Websphere Application Server vulnerabilities Digitаl Security Research Group (DSecRG) Stanislav Svistunovich research@dsecrg.com
More informationBase One's Rich Client Architecture
Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.
More informationIntroducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
More informationPDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology sebastianpremraj@yahoo.com
PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology sebastianpremraj@yahoo.com Abstract In times of economic slow-down, cutting costs is the major strategy
More informationHOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS
HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS Overview of Oracle JInitiator Oracle JInitiator enables users to run Oracle Forms applications using Netscape Navigator or Internet Explorer. It
More informationwww.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS
DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS TABLE OF CONTENTS Introduction 1 Progress Corticon Product Architecture 1 Deployment Options 2 Invoking Corticon Decision Services 4 Corticon Rule Engine 5
More informationCS 55.17. Developing Web Applications with Java Technologies
CS 55.17 Developing Web Applications with Java Technologies Class Introduction Instructor: David B. Pearson Email: Dpearson@SantaRosa.edu Yahoo! ID: DavidPearson Website: http://www.santarosa.edu/~dpearson/
More informationMobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the
More informationAN OVERVIEW OF SERVLET AND JSP TECHNOLOGY
AN OVERVIEW OF SERVLET AND JSP TECHNOLOGY Topics in This Chapter Understanding the role of servlets Building Web pages dynamically Looking at servlet code Evaluating servlets vs. other technologies Understanding
More informationCh-03 Web Applications
Ch-03 Web Applications 1. What is ServletContext? a. ServletContext is an interface that defines a set of methods that helps us to communicate with the servlet container. There is one context per "web
More informationChapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
More information