Dark Nebula: Using the Cloud to Build a RESTful Web Service
|
|
|
- Vivien Potter
- 10 years ago
- Views:
Transcription
1 Dark Nebula: Using the Cloud to Build a RESTful Web Service Robert Fisher, John Fisher, and Peter Bui Department of Computer Science University of Wisconsin - Eau Claire Eau Claire, WI {fisherr, fisherjk, buipj}@uwec.edu Abstract Today, many web sites are now taking advantage of cloud computing systems to rapidly build scalable web services. In order to gain experience and to learn about this emerging development platform, we constructed an application that uses Google App Engine to make a URL shortener. This web service can be accessed via a traditional web browser, but its notable feature is its RESTful API which allows for integration with both native and web applications along with automation and testing. Our paper describes the design and implementation of our cloud application, discusses the challenges in using Google App Engine, and evaluates the URL shortening web service.
2 1 Introduction With the emerging adoption of cloud computing systems, web sites are no longer just web pages, but also services that provide programmatic interaction. To explore the use of cloud computing in developing a RESTful web service [6], we chose to develop a simple URL shortener. This custom URL shortening service transforms and condenses lengthy URLs into concise URLs that are ready for distribution. While URL shortening services already exist, we created a custom application to do the following: explore cloud computing via Google App Engine [1], manage a RESTful web service, and build libraries for interfacing our service. The main contributions in this paper are a discussion of our experience in utilizing a cloud computing platform such as Google App Engine in building a programmable web service and an evaluation of our final system. 2 Design An overview of the architecture of our URL shortening service, Dark Nebula, is provided in Figure 1. Figure 1: Dark Nebula: POSTing Process The first step is to register a URL with the web service. This is done by the following: 1. Send long URL: The first step of the system involves sending a HTTP POST request containing the long or original URL and the response format. The POST is sent to the submission form under the domain. This step can be done with entering data on a web page or executing a POSTing script. 1
3 2. Check Datastore: Once the POST is made, Dark Nebula performs a query to check the Google Datastore [5] if the request contains a new or existing URL. If it finds a new long URL, the web service inserts the new entity into the Datastore. Otherwise, it retrieves the existing URL. 3. Return short URL: After the Datastore check, it returns the result based on the specified response format. The web service returns a short URL with a short URL identifier in hexadecimal with a domain prefix. Figure 2: Dark Nebula: Redirection Process The second step is to use the short URL obtained from the web service. This is done by the following: 1. Share: The short URL is distributed with other users that need a condensed URL. 2. Send short URL: The short URL is sent to the web service as HTTP GET in a web browser s address bar. 3. Check Datastore: Dark Nebula translates the short URL by querying the Datastore and retrieving the corresponding long URL. 4. HTTP redirect: After the lookup, Dark Nebula uses the retrieved long URL and automatically redirects the user to the long URL page via HTTP
4 3 Implementation To implement this project, we registered a domain name go.yld.me for the web service. We set up a Linux development environment with the Google App Engine SDK [5] and programmed the web service in Python. With this SDK, we took advantage of Google App Engine s schema-less data storage system, also known as the Datastore [4]. The main obstacles and challenges that we encountered primarily dealt with learning how to effectively program with a RESTful API, managing URL data in the Datastore, and debugging on a remote platform that we had no control over. To develop our system, we relied heavily on Google App Engine s Admin console for monitoring log files, and we performed extensive testing on our local development environment before deployment to the production cloud server. Figure 3: go.yld.me interface 3.1 Conversion Functions The underlying principle behind URL shortening is the back and forth conversion of lengthy URLs to short URLs for redirection. Therefore, the first step in developing URL shortening capabilities required writing two URL path conversion functions. Ultimately, this allows us to yield a short identifier to maintain a reference among short URLs and their original lengthy counterparts. 1. identifier to string16: Returns a short identifier string that represents the original URL s identifier property in terms of the alphabet passed in. Since we are using a hexadecimal alphabet, we were simply converting the original long URL into its hexadecimal counterpart. 3
5 2. string to identifier16: Returns the original long URL s identifier property as a string by reverse engineering the short identifier. This function, which takes in the same alphabet as its predecessor, essentially converts the hexadecimal identifier into decimal. Function Name Input Output identifier to string string to identifier16 3e Table 1: Conversion Functions 3.2 NDB Datastore Next, we wrote a URL class using the NDB Datastore API from Google App Engine [5]. This Datastore employs a schema-less storage system which, unlike a typical relational database, provides a less constrained and scalable storage platform for our application [4]. Using this approach meant simply defining the entity as a class, similar to defining a table, and its respective properties: identifier, long url, date, clicks, and clicks date. Property Name Return Type Property Description identifier integer A unique row in the Datastore. Arbitrarily set to start at incrementing at 0. long url string The original URL record submitted in a transaction. date date/time A timestamp automatically recorded for each submitted URL. clicks integer A count of the total number of clicks or redirects using the respective short URL. clicks date date/time A timestamp holding the last time the respective URL was redirected with the short URL. Table 2: URL Model Properties 3.3 Handlers In order to shorten submitted lengthy URLs on our website we needed to write two classes to handle HTTP GET and POST. These classes utilize the conversion functions discussed earlier, URL entity class, and webapp2 functions to display the contents of the Datastore and to ensure proper redirection of shortened URLs [7]. HomeRequestHandler: Performs the two following HTTP functions. 1. GET: 4
6 (a) URL path with short identifier: The moment this function runs, it deletes any expired URL entities, as specified by the clicks date property, to clean the Datastore. Next the short identifier is isolated and passed into the string to identifier16 conversion function to yield a respective long url identifier. Next, the Datastore uses the aforementioned long url identifier and queries its records to select the matching identifier property associated with an original URL. Before the final redirection occurs, it updates the clicks time and increments the clicks properties. Lastly, Dark Nebula redirects to the original website with the long URL. (b) URL path without short identifier: The 10 most recently submitted URLs are queried to retrieve a short identifier. With this information it can combine the prefix web address with the short identifier as its path. At this point, the most recent URLs are displayed in a table with their respective properties on the home page. 2. POST: (a) Web Page: Dark Nebula processes the input to validate whether or not the submitted URL is a well-formed, functional URL. Also, there is a query executed to check and prevent duplicate entries. If a new URL is POSTed then a new URL entity is created with an identifier and the long URL. After this, it returns the home page after storing the new entity in the Datastore. (b) POSTing Script: When making a POST through a Web browser, the default response is returned as HTML. In other words, the home page is redisplayed with the most recent URLs. If the POST was sent with a response format attribute in the form field set as text, by using a programmatic request, then only the new short URL will be returned by the GET function. This allows for a programmatic interaction for the performance tests that only return short URL strings. 3.4 Dark Nebula Shortener Module Listing 1 shows the Python functions which describe how one can shorten a URL through a programmatic execution. By tracing the algorithm for both Dark Nebula and TinyURL, they follow the same steps: define the domain, encode a URL, make a POST request, and retrieve the shortened URL. But there is two minor differences which make these two functions unique. In step 2 and 3 of darknebula shorten, it encodes and POSTs both a long url and response format set as text. Then in the step 5, the short url is returned using the response data. However, in step 2 and 3 of tinyurl shorten, it only encodes and POSTs a long url. In addition, the response from this POST retrieves the entire web page in HTML. In order to obtain the short URL from TinyURL [8], the function uses a regular expression at step 5 and 6. By providing the extra response format data, the web service determines that it needs to only respond with a short URL. Otherwise, the default html would respond to the POST request with the entire web page in HTML. 5
7 def darknebula_shorten(long_url): # 1. S p e c i f y the domain domain= # 2. Define and encode the l o n g u r l and response format values = { long_url : long_url, response_format : text } data = urllib.urlencode(values) # 3. POST data req = urllib2.request(domain,data) # 4. Open Dark Nebula ( go. yld. me) response = urllib2.urlopen(req) # 5. R e t r i e v e the s h o r t u r l short_url = response.read() return short_url def tinyurl_shorten(long_url): # 1. S p e c i f y the domain and r e g u l a r e x p r e s s i o n domain_regex = (?<=text=\")( domain= # 2. Define and encod the l o n g u r l values = { url : long_url} data = urllib.urlencode(values) # 3. POST data req = urllib2.request(domain,data) # 4. Open TinyURL response = urllib2.urlopen(req) the_page = response.read() # 5. Use r e g u l a r e x p r e s s i o n to match the s h o r t u r l on page match = re.search(r +domain_regex,str(the_page)) short_url = # 6. R e t r i e v e the s h o r t u r l i f match i s found if match: short_url = match.group(0) return short_url Listing 1: Dark Nebula Python Module. 4 Evaluation We evaluated our system s translation and redirection mechanism by utilizing real URLs that we inserted into the Datastore [5]. We created test cases that checked for duplicates and shortened various sized URLs. After this step, we shared the shortened URLs with others to use. Once we shortened a URL, we could send the hyperlink to students for them to utilize. During our testing, redirection was immediate and reliable within different Web browsers. At the moment the system s Datastore has not been tested for competing transactions and performance with lots of data. 6
8 4.1 Performance Testing To test the performance of Dark Nebula, we ran automated speed tests to compare with TinyURL.com, another URL shortening service [8]. These scripts imported the Dark Nebula module we developed and called the shortening functions from section 3.4 for each service. In doing so, we could examine whether our cloud-based URL shortener could even compete with a commercial website. Because the Dark Nebula web service provides a response format as a hidden input in the POST form, a short URL can be directly returned to the user through the GET request. To retrieve the short URL from TinyURL we developed a regular expression to parse the page after the GET request. We also ran timing tests for Dark Nebula to observe the differences when a new URL is stored into the Datastore and when it already exists Transaction Statistics URLs Validation Dark Nebula Avg. TinyURL Avg. Avg. Ratio (Dark Nebula/TinyURL) Time (s) Time (s) 100 No Yes Table 3: Average Execution Times for URL Transactions URLs Validation Dark Nebula Std. Dev. TinyURL Std. Dev. (s) (s) 100 No Yes Table 4: Standard Deviation Times for URL Transactions URL Validation for Web Services To have validation in our system means that short URLs will only be generated based on a successful HTTP or HTTPS request. This means that long URLs must have a or prefix. Any attempt to input a long URL without such prefixes, will be rejected by Dark Nebula. Furthermore, these long URLs must link to actual functioning web page that return a HTTP 200 status code. Any other status code will reject the long URL. As far as we know TinyURL appends a prefix to the long URL, but it accepts fake or nonfunctioning long URLs and a short URL would still be generated. This is what it means to have no validation. 7
9 4.1.3 Transactions Without Validation Figure 4: Performance comparison with 100 URL transactions without validation Analysis: In this test case we wanted to determine the consistency of making URL shortening requests for Dark Nebula and TinyURL. Figure 4 displays the times for 100 individual URL Transactions without validation. This graph shows the consistency of Dark Nebula compared to TinyURL. For example, there was 80 transactions that completed in the seconds interval. Table 3 shows that the total time ratio of Dark Nebula to TinyURL was , or approximately a 50% reduction in time. In Table 4, the standard deviation for Dark Nebula was , which was approximately a 30% of TinyURL s standard deviation. The graph s distribution is skewed right (meaning the right tail end of the graph is longer in comparison) for both web services, since there were some outliers for a few transactions. This behavior was more apparent when making requests for TinyURL and were less dramatic in Dark Nebula. Explanation: The most notable observation from Figure 4 is the trade-off that occurs with validation processing. When no validation was done to check for well-formed,functional URLs, Dark Nebula processing time was frequently quicker than TinyURL. Under this test, Dark Nebula is more like TinyURL in the sense of no validation, and our web service still performed better. There is much we do not know about the technology TinyURL implements, but our test data just displays that this web service was slower in comparison. for each URL. 8
10 4.1.4 Transactions With Validation Figure 5: Performance comparison with 100 URL transactions with validation Analysis: This test compares the times for 100 URL Transactions with validation components in Dark Nebula s web service. In Figure 5, it shows that the times for Dark Nebula s shortening requests took longer than TinyURL. Table 3 displays that the total time ratio was 1.277, or about a 25% increase in time. In Table 4, the standard deviation for Dark Nebula was , which is about two-thirds of the standard deviation for TinyURL. To put it differently, Dark Nebula experienced more deviation when validation occurred so its performance resulted in a slower and less consistent processing. Explanation: In contrast to Figure 4 s result, when validation was implemented as displayed in Figure 5, Dark Nebula s transactions yielded more fluctuations with longer run times. However, TinyURL accepts invalid URL strings to shorten (i.e. random.edu), while Dark Nebula does not. So with the additional overhead of validation in Dark Nebula, it demonstrates how performance can be significantly affected by choosing to handle erroneous input. Both web services are skewed to the right, but Dark Nebula was simply shifted while maintaining a slightly smaller standard deviation with a higher average time. Overall, it was expected that validation would add noticeable performance changes in Dark Nebula in some samples. 9
11 4.1.5 Influence of Regular Expressions Dark Nebula Dark Nebula Validation TinyURL Time TinyURL Regex Time (s) Time (s) (s) Time (s) Table 5: Single Transaction Times Analysis: Even though we used a regular expression to check for the matching short URL only for TinyURL, the amount of time to match is negligible and therefore can be discounted as a potential factor in the time increase in TinyURL. The quicker Dark Nebula times without validation could be attributed to our service s simplicity in a variety of ways. Perhaps Google App Engine s schema-less Datastore performs faster storage and queries [4]. Though, we don t know how TinyURL stores, queries, and processes short URLs. But regardless of this unknown, there appears to be less work when opening up Dark Nebula (without validation) versus TinyURL after making the POST with the long URL. Explanation: Regular expressions in themselves are not intensive operations for our web service to perform. It doesn t have the overhead of validating a string of text but rather just the matching of it. Likewise, the time needed for our Datastore to insert or query data is more expensive with form fields to pass through. Therefore, the time delay for TinyURL gained from regular expressions is negligible New and Old Transactions Figure 6: Performance comparison with 100 new URLs and old URLs 10
12 Analysis: In Figure 6, we compare the amount of time it takes to process a new URL and a preexisting one in Google App Engine s Datastore [5]. When a new URL is POSTed, it is stored in the Datastore, and then the web service returns the short URL. If the URL already exists, then the short URL is returned. From the trial, it shows that there is more variation and inconsistency with new URLs while older URLs are returned quicker most of time. Explanation: The relative disparity between the new and old times makes sense because the amount of processing needed. If the URL already exists in the Datastore then less work should is needed for processing since it has already happened once before. Conversely, when a new URL is inserted the service has to jump through all the steps of shortening the URL. Simply, Dark Nebula does not need to do more work than necessary. 4.2 Input In order for our system to correctly process incoming URLs it expects them to be wellformed and error-free. We had mentioned that Dark Nebula validates long URLs in section 3.3, but we will need to explain how and why we implemented this functionality. Below are the following scenarios which may occur. 1. Character Length: URL strings must not be greater than or equal to 500 characters in length. Google App Engine s Datastore [5] imposes this limit, and thus these strings will not be processed and result in an internal server error. So our validation function prevents long URLs that exceed this length. However, TinyURL [8] is able to process URL s with string lengths greater than or equal to this limit. This demonstrates an example of where the system falls short. 2. URL Format: The system expects well-formed URL strings. So under the hood of validation, Dark Nebula tries to fetch the long URL, and if a HTTP status code is 200, then the long URL was valid. Otherwise, an exception occurs and thus the long URL is not stored since it does not yield a functional URL. 3. Predicting Short URLs: Due to the nature of how we generate short identifier properties, one can notice some potential risks. Unfortunately, it could be possible for input to abuse this design mechanic when the submitted URL contains the prefix. These URLs would be valid under normal circumstances, but if a long URL contained a short URL that was previously entered or had not been generated yet, then an indirect reference would occur. This would either return a redirect loop or a maximum recursion depth error. To address this issue, we do not allow long URLs to contain this prefix with an short identifier by using a regular expression validator. 4. Memcache and Quota: The Google Datastore permits 50,000 small, write, and read operations. Small operations are neither Datastore reads nor writes, but instead are key allocations, returning keys from a query, or counts. To reduce the cost of small operations, like finding the count of the total URLs present, we attempted to 11
13 use Google App Engine s memcache [5] to keep track of a counter. This memcache stores a key-value pair of the total number of URLs in the Datastore. When a URL was inserted, it incremented the counter. This made assigning the long URL identifier less costly than querying the count. However, using memcache to store permanent data leads to duplicate URL identifiers and thus incorrect short URL redirections. Apparently, the memcache s eviction policy deletes its contents in unpredictable ways [3]. For instance, the memcache.incr( key ) could change the key, but then the key but could be different for another machine due to Google App Engine distributive nature [3]. This unpredictable behavior was unacceptable for the URL s identifier, so we decided to use a more costly count function call. 5. Maximum Transactions and Quota: The maximum number of transactions we found was not consistent for every daily instance. Since the quota resets every 24 hours and we used free version of Google App Engine. This is a drawback with cloud based services since the Dark Nebula web service is restricted by this quota. This was a setback to testing since we could only run expensive tests once a day. Despite this, a free Google App Engine application can use up to 1 GB of non-billable data. 5 Related Work Web services are increasingly employing a variety of technologies and applications trending in the field of Computer Science. Below are the core concepts that our web service, Dark Nebula, utilizes. 1. The Cloud: A cloud is a data center which offers distributed computational power and resources [9]. Specifically, cloud computing can be partitioned into service types based on the architectural organization [2]. Specifically, our system utilizes the Platform as a Service (PaaS), Google App Engine, which offers a robust and reliable programming and execution environment [1]. 2. RESTful Web Services: Originally introduced as an architectural style for distributed systems, Representational State Transfer (REST) is a method of creating applications to work with HTTP protocols and operations [6]. Four RESTful architectural principles include resource identification through URI (Uniform Resource Identifier), uniform interfaces (as in GET and POST operations), self-descriptive messages (as in HTML or text), and stateful interactions through hyperlinks (as in form fields and response messages) [6]. This widespread leveraging of common web standards makes RESTful web services a lightweight development tool for programmers. 3. URL Shorteners: URL shorteners are services that transform URLs and condense them into more manageable counterparts. TinyURL is an example of this service with a much more sophisticated interface and short identifier algorithm [8] than Dark Nebula. As such, this service was used a baseline competitor. 12
14 6 Conclusion The motivation of this project is to understand how systems like Google App Engine can be combined with a programmable interface to interact with web services. Writing a library to interact with a RESTful web service reveals the potential of programmatic interfaces. However, based on our performance tests, our system demonstrates a balancing act of speed and correctness. We can design a system to be faster, but then we must tolerate errors. Or, we can design a system to be correct while accepting slower performance. Using the cloud to make a URL shortener presented these benefits and costs. Google App Engine makes it easy to take advantage of evolving cloud technology, but there are still barriers to entry. Data processing is still limited by quotas and billing, which is a reality that most developers must accommodate for in their systems. However, keeping the cloud low to the ground still allows small scale systems, such as Dark Nebula, to allocate resources efficiently. Resource management is often an afterthought for cloud services, but it must be taken into more consideration for smaller applications. Despite the potential of cloud technology, Dark Nebula proves that the sky is not always the limit. References [1] Alexander Lenk, Markus Klems, Jens Nimis, Stefan Tai, Thomas Sandholm. What s Inside the Cloud? An Architectural Map of the Cloud Landscape, [2] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia. A view of cloud computing. Commun. ACM, 53(4):50 58, Apr [3] Ben Kamens. Dangers of Using Memcache Counters for A/B Tests [4] Fay Chang, Jeffery Dean, Sanjay Ghemawat, Wilson C. Hsieh,Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data. ACM Transactions on Computer Systems, 26(2):4 26, [5] Google, Inc. Google App Engine: Platform as a Service [6] C. Pautasso, O. Zimmermann, and F. Leymann. Restful web services vs. big web services: Making the right architectural decision. In Proceedings of the 17th International Conference on World Wide Web, WWW 08, pages , New York, NY, USA, ACM. [7] Rodridgo Moraes. WebApp [8] TinyURL, LLC. TinyURL
15 [9] A. Weiss. Computing in the clouds. networker, 11(4):16 25, Dec
THE CLOUD AND ITS EFFECTS ON WEB DEVELOPMENT
TREX WORKSHOP 2013 THE CLOUD AND ITS EFFECTS ON WEB DEVELOPMENT Jukka Tupamäki, Relevantum Oy Software Specialist, MSc in Software Engineering (TUT) [email protected] / @tukkajukka 30.10.2013 1 e arrival
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development
A programming model in Cloud: MapReduce
A programming model in Cloud: MapReduce Programming model and implementation developed by Google for processing large data sets Users specify a map function to generate a set of intermediate key/value
PRIVACY PRESERVATION ALGORITHM USING EFFECTIVE DATA LOOKUP ORGANIZATION FOR STORAGE CLOUDS
PRIVACY PRESERVATION ALGORITHM USING EFFECTIVE DATA LOOKUP ORGANIZATION FOR STORAGE CLOUDS Amar More 1 and Sarang Joshi 2 1 Department of Computer Engineering, Pune Institute of Computer Technology, Maharashtra,
AS DNB banka. DNB Link specification (B2B functional description)
AS DNB banka DNB Link specification (B2B functional description) DNB_Link_FS_EN_1_EXTSYS_1_L_2013 Table of contents 1. PURPOSE OF THE SYSTEM... 4 2. BUSINESS PROCESSES... 4 2.1. Payment for goods and services...
Deposit Identification Utility and Visualization Tool
Deposit Identification Utility and Visualization Tool Colorado School of Mines Field Session Summer 2014 David Alexander Jeremy Kerr Luke McPherson Introduction Newmont Mining Corporation was founded in
InfiniteGraph: The Distributed Graph Database
A Performance and Distributed Performance Benchmark of InfiniteGraph and a Leading Open Source Graph Database Using Synthetic Data Objectivity, Inc. 640 West California Ave. Suite 240 Sunnyvale, CA 94086
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most
MAGENTO HOSTING Progressive Server Performance Improvements
MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 [email protected] 1.866.963.0424 www.simplehelix.com 2 Table of Contents
AXL Troubleshooting. Overview. Architecture
AXL Troubleshooting This chapter contains the following topics: Overview, page 35 Architecture, page 35 Postinstallation Checklist, page 36 Troubleshooting Tools, page 39 Error Codes, page 43 Overview
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Storage of Structured Data: BigTable and HBase. New Trends In Distributed Systems MSc Software and Systems
Storage of Structured Data: BigTable and HBase 1 HBase and BigTable HBase is Hadoop's counterpart of Google's BigTable BigTable meets the need for a highly scalable storage system for structured data Provides
Managing Users and Identity Stores
CHAPTER 8 Overview ACS manages your network devices and other ACS clients by using the ACS network resource repositories and identity stores. When a host connects to the network through ACS requesting
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
A Web Base Information System Using Cloud Computing
A Web Base Information System Using Cloud Computing Zainab Murtadha, Mohammad Amin Roshanasan Abstract: Cloud Computing is the new field that was invented and developed during a period not so long ago.
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010
DEPLOYMENT GUIDE Version 2.1 Deploying F5 with Microsoft SharePoint 2010 Table of Contents Table of Contents Introducing the F5 Deployment Guide for Microsoft SharePoint 2010 Prerequisites and configuration
Application Security Testing. Generic Test Strategy
Application Security Testing Generic Test Strategy Page 2 of 8 Contents 1 Introduction 3 1.1 Purpose: 3 1.2 Application Security Testing: 3 2 Audience 3 3 Test Strategy guidelines 3 3.1 Authentication
The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14
The presentation explains how to create and access the web services using the user interface. Page 1 of 14 The aim of this presentation is to familiarize you with the processes of creating and accessing
Monitoring Pramati Web Server
Monitoring Pramati Web Server 15 Overview This section describes how to monitor Pramati Web Server from the Console. You can monitor information regarding the running Default Server and Virtual Hosts,
Session Service Architecture
Session Service Architecture Open Web Single Sign-On Version 1.0 Please send comments to: [email protected] Author Alan Chu ([email protected]) Session Service Architecture, Version 1.0 This document is subject
The Cloud to the rescue!
The Cloud to the rescue! What the Google Cloud Platform can make for you Aja Hammerly, Developer Advocate twitter.com/thagomizer_rb So what is the cloud? The Google Cloud Platform The Google Cloud Platform
An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition
An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud
Managed File Transfer
Managed File Transfer How do most organizations move files today? FTP Typically File Transfer Protocol (FTP) is combined with writing and maintaining homegrown code to address its limitations Limited Reliability
ACCESS 2007. Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818) 677-1700
Information Technology MS Access 2007 Users Guide ACCESS 2007 Importing and Exporting Data Files IT Training & Development (818) 677-1700 [email protected] TABLE OF CONTENTS Introduction... 1 Import Excel
Adeptia Suite 6.2. Application Services Guide. Release Date October 16, 2014
Adeptia Suite 6.2 Application Services Guide Release Date October 16, 2014 343 West Erie, Suite 440 Chicago, IL 60654, USA Phone: (312) 229-1727 x111 Fax: (312) 229-1736 Document Information DOCUMENT INFORMATION
Phishing by data URI
Phishing by data URI Henning Klevjer [email protected] October 22, 2012 1 Abstract Historically, phishing web pages have been hosted by web servers that are either compromised or owned by the attacker.
Cloud computing - Architecting in the cloud
Cloud computing - Architecting in the cloud [email protected] 1 Outline Cloud computing What is? Levels of cloud computing: IaaS, PaaS, SaaS Moving to the cloud? Architecting in the cloud Best practices
Web 2.0-based SaaS for Community Resource Sharing
Web 2.0-based SaaS for Community Resource Sharing Corresponding Author Department of Computer Science and Information Engineering, National Formosa University, [email protected] doi : 10.4156/jdcta.vol5.issue5.14
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
DEPLOYMENT GUIDE. Deploying the BIG-IP LTM v9.x with Microsoft Windows Server 2008 Terminal Services
DEPLOYMENT GUIDE Deploying the BIG-IP LTM v9.x with Microsoft Windows Server 2008 Terminal Services Deploying the BIG-IP LTM system and Microsoft Windows Server 2008 Terminal Services Welcome to the BIG-IP
The Hidden Extras. The Pricing Scheme of Cloud Computing. Stephane Rufer
The Hidden Extras The Pricing Scheme of Cloud Computing Stephane Rufer Cloud Computing Hype Cycle Definition Types Architecture Deployment Pricing/Charging in IT Economics of Cloud Computing Pricing Schemes
What is Analytic Infrastructure and Why Should You Care?
What is Analytic Infrastructure and Why Should You Care? Robert L Grossman University of Illinois at Chicago and Open Data Group [email protected] ABSTRACT We define analytic infrastructure to be the services,
Forumbee Single Sign- On
Forumbee Single Sign- On What is Single Sign- On? In basic terms, Single Sign- On (SSO) allows users of your web site to log into your Forumbee community automatically, without needing to sign up and create
Handle Tool. User Manual
User Manual Corporation for National Research Initiatives Version 2 November 2015 Table of Contents 1. Start the Handle Tool... 3 2. Default Window... 3 3. Console... 5 4. Authentication... 6 5. Lookup...
Future Prospects of Scalable Cloud Computing
Future Prospects of Scalable Cloud Computing Keijo Heljanko Department of Information and Computer Science School of Science Aalto University [email protected] 7.3-2012 1/17 Future Cloud Topics Beyond
How To Handle Big Data With A Data Scientist
III Big Data Technologies Today, new technologies make it possible to realize value from Big Data. Big data technologies can replace highly customized, expensive legacy systems with a standard solution
Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)
Internet Technologies World Wide Web (WWW) Proxy Server Network Address Translator (NAT) What is WWW? System of interlinked Hypertext documents Text, Images, Videos, and other multimedia documents navigate
Using WebLOAD to Monitor Your Production Environment
Using WebLOAD to Monitor Your Production Environment Your pre launch performance test scripts can be reused for post launch monitoring to verify application performance. This reuse can save time, money
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
American International Journal of Research in Science, Technology, Engineering & Mathematics
American International Journal of Research in Science, Technology, Engineering & Mathematics Available online at http://www.iasir.net ISSN (Print): 2328-3491, ISSN (Online): 2328-3580, ISSN (CD-ROM): 2328-3629
Network Virtualization Solutions - A Practical Solution
SOLUTION GUIDE Deploying Advanced Firewalls in Dynamic Virtual Networks Enterprise-Ready Security for Network Virtualization 1 This solution guide describes how to simplify deploying virtualization security
SOLUTION BRIEF. JUST THE FAQs: Moving Big Data with Bulk Load. www.datadirect.com
SOLUTION BRIEF JUST THE FAQs: Moving Big Data with Bulk Load 2 INTRODUCTION As the data and information used by businesses grow exponentially, IT organizations face a daunting challenge moving what is
Scribe Online Integration Services (IS) Tutorial
Scribe Online Integration Services (IS) Tutorial 7/6/2015 Important Notice No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, photocopying,
Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise
Cloud Service Model Selecting a cloud service model Different cloud service models within the enterprise Single cloud provider AWS for IaaS Azure for PaaS Force fit all solutions into the cloud service
ACL Command Reference
ACL Command Reference Test or Operation Explanation Command(s) Key fields*/records Output Basic Completeness Uniqueness Frequency & Materiality Distribution Multi-File Combinations, Comparisons, and Associations
Setting Up Resources in VMware Identity Manager
Setting Up Resources in VMware Identity Manager VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
The Django web development framework for the Python-aware
The Django web development framework for the Python-aware Bill Freeman PySIG NH September 23, 2010 Bill Freeman (PySIG NH) Introduction to Django September 23, 2010 1 / 18 Introduction Django is a web
A Standards-based Mobile Application IdM Architecture
A Standards-based Mobile Application IdM Architecture Abstract Mobile clients are an increasingly important channel for consumers accessing Web 2.0 and enterprise employees accessing on-premise and cloud-hosted
Sisense. Product Highlights. www.sisense.com
Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with IBM WebSphere 7 Table of Contents Table of Contents Deploying the BIG-IP LTM system and IBM WebSphere Servers Prerequisites and configuration notes...1-1
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Microsoft Outlook Web
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
Using WhatCounts Publicaster Edition To Send Transactional Emails
Using WhatCounts Publicaster Edition To Send Transactional Emails 1 DEFINITION Transactional email by definition is any message in which the primary purpose facilitates an already agreed-upon transaction
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY As the constantly growing demands of businesses and organizations operating in a global economy cause an increased
Fixes for CrossTec ResQDesk
Fixes for CrossTec ResQDesk Fixes in CrossTec ResQDesk 5.00.0006 December 2, 2014 Resolved issue where the list of Operators on Category was not saving correctly when adding multiple Operators. Fixed issue
Continuous Integration
Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener [email protected] Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
Search Engine Optimization Glossary
Search Engine Optimization Glossary A ALT Text/Tag or Attribute: A description of an image in your site's HTML. Unlike humans, search engines read only the ALT text of images, not the images themselves.
DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API
DEERFIELD.COM DNS2Go Update API DNS2Go Update API DEERFIELD.COM PRODUCT DOCUMENTATION DNS2Go Update API Deerfield.com 4241 Old U.S. 27 South Gaylord, MI 49686 Phone 989.732.8856 Email [email protected]
MONETA.Assistant API Reference
MONETA.Assistant API Reference Contents 2 Contents Abstract...3 Chapter 1: MONETA.Assistant Overview...4 Payment Processing Flow...4 Chapter 2: Quick Start... 6 Sandbox Overview... 6 Registering Demo Accounts...
Login with Amazon. Getting Started Guide for Websites. Version 1.0
Login with Amazon Getting Started Guide for Websites Version 1.0 Login with Amazon: Getting Started Guide for Websites Copyright 2016 Amazon Services, LLC or its affiliates. All rights reserved. Amazon
ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01
ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01 FEBRUARY 2010 COPYRIGHT Copyright 1998, 2009, Oracle and/or its affiliates. All rights reserved. Part
Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.
Testing Dynamic Web Applications How To You can use XML Path Language (XPath) queries and URL format rules to test web sites or applications that contain dynamic content that changes on a regular basis.
Introducing DocumentDB
David Chappell Introducing DocumentDB A NoSQL Database for Microsoft Azure Sponsored by Microsoft Corporation Copyright 2014 Chappell & Associates Contents Why DocumentDB?... 3 The DocumentDB Data Model...
Slave. Master. Research Scholar, Bharathiar University
Volume 3, Issue 7, July 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper online at: www.ijarcsse.com Study on Basically, and Eventually
Working with RD Web Access in Windows Server 2012
Working with RD Web Access in Windows Server 2012 Introduction to RD Web Access So far in this series we have talked about how to successfully deploy and manage a Microsoft Windows Server 2012 VDI environment.
Welcome to the Force.com Developer Day
Welcome to the Force.com Developer Day Sign up for a Developer Edition account at: http://developer.force.com/join Nicola Lalla [email protected] n_lalla nlalla26 Safe Harbor Safe harbor statement under
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Application Server 10g
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with Oracle Application Server 10g Table of Contents Table of Contents Introducing the F5 and Oracle 10g configuration Prerequisites and configuration notes...1-1
HireDesk API V1.0 Developer s Guide
HireDesk API V1.0 Developer s Guide Revision 1.4 Talent Technology Corporation Page 1 Audience This document is intended for anyone who wants to understand, and use the Hiredesk API. If you just want to
Real vs. Synthetic Web Performance Measurements, a Comparative Study
Real vs. Synthetic Web Performance Measurements, a Comparative Study By John Bartlett and Peter Sevcik December 2004 Enterprises use today s Internet to find customers, provide them information, engage
KMx Enterprise: Integration Overview for Member Account Synchronization and Single Signon
KMx Enterprise: Integration Overview for Member Account Synchronization and Single Signon KMx Enterprise includes two api s for integrating user accounts with an external directory of employee or other
Cloudy with a chance of 0-day
Cloudy with a chance of 0-day November 12, 2009 Jon Rose Trustwave [email protected] The Foundation http://www.owasp.org Jon Rose Trustwave SpiderLabs Phoenix DC AppSec 09! Tom Leavey Trustwave SpiderLabs
Lecture 6 Cloud Application Development, using Google App Engine as an example
Lecture 6 Cloud Application Development, using Google App Engine as an example 922EU3870 Cloud Computing and Mobile Platforms, Autumn 2009 (2009/10/19) http://code.google.com/appengine/ Ping Yeh ( 葉 平
FileMaker Server 10. Getting Started Guide
FileMaker Server 10 Getting Started Guide 2007-2009 FileMaker, Inc. All rights reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, the file folder logo, Bento and
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
Web Integration Technologies
Web Integration Technologies Application and Benefits Introduction In every corporation, the browser has become the most prominent and effective means to access applications systems and the data they provide.
Deploying System Center 2012 R2 Configuration Manager
Deploying System Center 2012 R2 Configuration Manager This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0
DEPLOYMENT GUIDE Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0 Introducing the F5 and Microsoft Dynamics CRM configuration Microsoft Dynamics CRM is a full customer relationship
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:
CHAPTER 1 SAML Single Sign-On This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections: Junos Pulse Secure Access
Manual. Netumo NETUMO HELP MANUAL WWW.NETUMO.COM. Copyright Netumo 2014 All Rights Reserved
Manual Netumo NETUMO HELP MANUAL WWW.NETUMO.COM Copyright Netumo 2014 All Rights Reserved Table of Contents 1 Introduction... 0 2 Creating an Account... 0 2.1 Additional services Login... 1 3 Adding a
HYBRID CLOUD SUPPORT FOR LARGE SCALE ANALYTICS AND WEB PROCESSING. Navraj Chohan, Anand Gupta, Chris Bunch, Kowshik Prakasam, and Chandra Krintz
HYBRID CLOUD SUPPORT FOR LARGE SCALE ANALYTICS AND WEB PROCESSING Navraj Chohan, Anand Gupta, Chris Bunch, Kowshik Prakasam, and Chandra Krintz Overview Google App Engine (GAE) GAE Analytics Libraries
Installation & Configuration Guide
Installation & Configuration Guide Bluebeam Studio Enterprise ( Software ) 2014 Bluebeam Software, Inc. All Rights Reserved. Patents Pending in the U.S. and/or other countries. Bluebeam and Revu are trademarks
MarkLogic Server. Understanding and Using Security Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Understanding and Using Security Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Understanding
DNS Update API November 15, 2006 Version 2.0.3
DNS Update API November 15, 2006 Version 2.0.3 Dynamic Network Services, Inc. phone: +1-603-668-4998 1230 Elm Street, Fifth Floor fax: +1-603-668-6474 Manchester, NH 03101 www.dyndns.com Table of Contents
A DSL-based Approach to Software Development and Deployment on Cloud
2010 24th IEEE International Conference on Advanced Information Networking and Applications A DSL-based Approach to Software Development and Deployment on Cloud Krzysztof Sledziewski 1, Behzad Bordbar
WESTERNACHER OUTLOOK E-MAIL-MANAGER OPERATING MANUAL
TABLE OF CONTENTS 1 Summary 3 2 Software requirements 3 3 Installing the Outlook E-Mail Manager Client 3 3.1 Requirements 3 3.1.1 Installation for trial customers for cloud-based testing 3 3.1.2 Installing
Crawl Proxy Installation and Configuration Guide
Crawl Proxy Installation and Configuration Guide Google Enterprise EMEA Google Search Appliance is able to natively crawl secure content coming from multiple sources using for instance the following main
New Features... 1 Installation... 3 Upgrade Changes... 3 Fixed Limitations... 4 Known Limitations... 5 Informatica Global Customer Support...
Informatica Corporation B2B Data Exchange Version 9.5.0 Release Notes June 2012 Copyright (c) 2006-2012 Informatica Corporation. All rights reserved. Contents New Features... 1 Installation... 3 Upgrade
DOSarrest Security Services (DSS) Version 4.0
DOSarrest Security Services (DSS) Version 4.0 DOSarrest DSS User Guide The DSS is the main customer portal where customers can view and manipulate traffic statistics from a wide variety of variables that
Visualisation in the Google Cloud
Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores
Facilitating Consistency Check between Specification and Implementation with MapReduce Framework
Facilitating Consistency Check between Specification and Implementation with MapReduce Framework Shigeru KUSAKABE, Yoichi OMORI, and Keijiro ARAKI Grad. School of Information Science and Electrical Engineering,
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
