MATLAB-to-ROCI Interface. Member(s): Andy Chen Faculty Advisor: Camillo J. Taylor

Size: px
Start display at page:

Download "MATLAB-to-ROCI Interface. Member(s): Andy Chen Faculty Advisor: Camillo J. Taylor"

Transcription

1 MATLAB-to-ROCI Interface Member(s): Andy Chen Faculty Advisor: Camillo J. Taylor Abstract The Remote Objects Control Interface, or ROCI, is a framework used within the University of Pennsylvania s GRASP Laboratory to manipulate a network of distributed sensory nodes. The objective of this project is to build interfaces for querying and controlling these nodes, and thusly the network that they compose. In particular, the goal is to bridge the MATLAB environment to ROCI. The end result is an API of primitive operations on ROCI nodes for use within the MATLAB environment (e.g. on an interactive console or in script files). These operations then will serve as the basic building blocks for implementing higher-level programs to interact with the ROCI network. Related Work The applications that result from this project build on top of the ROCI framework developed within the GRASP Laboratory at the University of Pennsylvania. ROCI enables the manipulation of a network of distributed sensory nodes. Each node executes a ROCI operating system kernel that is capable of running on existing network types, such as Ethernet and wireless LAN; the host machines on the network that run the kernel form a ROCI sensory network. Nodes can be dynamically added to a ROCI network during runtime; the new node broadcasts its arrival to other nodes already on the network, and each node then updates its list of known peer nodes. The nodes in a ROCI network gather sensory information from the environment, and this collection of information from all nodes forms a distributed database. Information input and output to a node occurs through ROCI modules; the ROCI architecture defines a framework for developing reusable, self-describing modules. The modules can be used to build larger Task modules by interconnecting module interfaces, where the Task (i.e. the module connections) is defined by an XML document. Modules interface with other modules through ROCI Pins. The Pins are self- Page 1 of 10

2 describing and strongly typed; e.g. an input Pin can only be connected to an output Pin of compatible type. Examples of Pin types include those for data such as GPS, internal or external temperature, video, and motor control. The MATLAB-to-ROCI interface addresses one limitation of the ROCI architecture; namely, a framework does not exist to interface with ROCI nodes through MATLAB. A MATLAB interface is desired for several reasons. First, the MATLAB language is simple in that developers can quickly code and deploy client applications, as in scripting programming languages. Also, MATLAB has an interactive console, which would enable users to interface with ROCI nodes in real-time. Second, MATLAB is a familiar tool already commonly used within some research projects involving large volumes of data. Third, MATLAB has several built-in features and add-on toolboxes for data processing, which users can utilize to analyze the results of queries on the ROCI network. The MATLAB-to-ROCI interface is not a modification of the existing implementation of the ROCI architecture. Rather, it is built on top of ROCI, and serves as a tool to enhance interactions with ROCI systems and the data that they produce. Page 2 of 10

3 Technical Approach Overview The MATLAB-to-ROCI interface is a collection of classes and functions written in the MATLAB programming language. This MATLAB-to-ROCI API provides basic operations, which ultimately will be used to build larger, more complex applications for high-level interactions with a ROCI network. The implementation of the API mainly involves utilizing the existing interfaces of the ROCI kernel and processing XML data. Communicating with ROCI In the existing ROCI architecture, each machine that is executing a ROCI kernel is capable of handling HTTP requests; the kernel listens for requests on port Prior to the MATLAB-to-ROCI interface, this feature was primarily used to support an AJAX-based web browser interface, which similarly, enables a user to query and control the state of a ROCI node. Acting as a HTTP server, the kernel serves XML documents that describe the state of the ROCI node, such as meta-information about each of the currently running tasks, its data pins, and the data acquired by sensors. Each document can be located through a URL that follows a pattern specific to the type of data content. For example, the URL to locate the XML document describing a task module running on a ROCI node has the pattern: name]:2010/[task name] (The domain name is the domain or IP address of the machine running the ROCI kernel, i.e. the ROCI node, of interest) Similarly, the pattern to locate a ROCI module of a running task is: name]:2010/[task name]/[module name] It is through HTTP that the MATLAB-to-ROCI API communicates with the ROCI kernel. For instance, many of the functions rely on the MATLAB function xmlread, which retrieves an XML DOM object at a specified file path or a specified URL. In the case of the latter, the xmlread function ultimately sends a HTTP GET request to the HTTP server (i.e. the ROCI node), similar to the web browser in the AJAX interface. After the document has been downloaded and encapsulated into the DOM object, the MATLAB function traverses the XML tree and encapsulates the data of interest into either a Page 3 of 10

4 MATLAB built-in data type or one of the data types provided in the MATLABto-ROCI interface the latter is discussed in more detail within the section Object Encapsulation. The ROCI kernel also supports handling of HTTP POST requests. These requests enable users to modify the state of the ROCI node, such as starting or ending ROCI tasks, and writing data to a ROCI pin. The content type of the HTTP POST requests in ROCI is primarily XML text. However, MATLAB does not provide a suitable analogue to xmlread for sending XML data to a specified URL. So, a low-level solution was applied, where the HTTP POST request was manually built and sent directly on a java.net.socket object attached to the URL of interest. The diagram below summarizes the communications between MATLAB and the ROCI kernel through the MATLAB-to-ROCI interface: MATLAB Environment MATLAB data structure MATLAB to ROCI API Process XML XML HTTP GET HTTP POST url1 url2 port 2010 ROCI Kernel XML Since ROCI is in continual development, there isn t formal documentation on the schema of the XML documents in ROCI. However, in implementing the MATLAB-to-ROCI API, the structures of the XML documents were inferred from informal sources, such as the XSLT style-sheets and JavaScript functions in the AJAX interface. Often the XML structures were fairly simple, and so, examining instances of the XML documents provided sufficient insight into the general structure. Page 4 of 10

5 Object Encapsulation The MATLAB-to-ROCI API is implemented in an object-oriented fashion. The outline below lists the important objects (the items in bold) and their compositions: v Node List of Peers Node List of Available Tasks Task Descriptor List of Running Tasks Task List of Modules Module List of Pins Pin Pin Data Control Parameters These objects are modeled in corresponding MATLAB data structure classes, with appropriate functions to retrieve the objects for its subcomponents. The subcomponent objects themselves are not stored within its parent object at all times, but rather, they are constructed at each invocation of the retrieval function in the parent object. The aim of this design is to restrict transmitting and processing XML documents to an as-needed basis, to avoid parsing documents that are not of interest. For example, a user may be interested in only one of the running tasks, so it doesn t make sense to encapsulate all running tasks into objects; i.e. it doesn t make sense to retrieve and parse the XML documents for all running tasks when the one document for the task of interest would suffice. This may minimize the delay experienced by a user while interacting with ROCI on the MATLAB console, especially if communicating across a low-bandwidth network. Each of the objects stores only enough information to locate the XML documents related to the ROCI component it is modeling and to locate the XML documents of its subcomponents. In this case, a base URL is sufficient. The structure of the URLs to locate each of the objects parallels the nesting structure of the outline above. For example: Object Base URL Node Task Module Page 5 of 10

6 Pin Pin Data As the table shows, the base URL of an object becomes the prefix of its subcomponent s URL i.e. the URL directory-like path structure parallels the nesting of the object composition structure in the outline. In essence, each object is an encapsulation of data from a collection of XML documents. Parsing and translating the XML documents is straight-forward for most of the objects, as the XML structure (e.g. nesting of elements and tag names) remains fixed across nodes. The exception to this occurs in encapsulating the pin data object; since each pin has a type property, the contents of the pin data is dependent on the pin s type. For the XML encoding of the pin data, the pin type specifies the element tag names and the nesting structure. So, there is no static structure that is uniform across pin data XML documents from pins of different types. However, it is preferred to encapsulate the pin data in a MATLAB data structure that retains the same nesting structure as in the XML, as it may be the most natural way of modeling the data for the user. Since the MATLAB language supports dynamically adding new field names to struct objects, the pin data XML can be translated into an analogous MATLAB data structure. In the API, the pin data object is built by recursively adding each XML element in the pin data as a field, using the tag name as the field name. In addition, since the pin data XML also identifies the type of its text nodes (which correspond to the scalar values in the pin data), a recognized type (e.g. integer, float, Boolean, image, etc.) is stored as its equivalent primitive data type in MATLAB. Query/Modify State of ROCI Kernel (Examples) Querying the state of a ROCI kernel consists of retrieving one of the objects discussed in the previous section, and then invoking the proper function belonging to object s class. Often, this involves starting from the Node object at the top of the object composition outline, and then traversing down the subcomponent tree until the proper component has been obtained. The following is an example of this interaction on the MATLAB console: >> % Construct node object with domain localhost >> node = RociNode('localhost') node = ROCINode@localhost Page 6 of 10

7 >> % Retrieve task objects of node >> tasks = getrunningtasks(node) tasks = [ROCINode@localhost]:CommunicationTestProducer [ROCINode@localhost]:HelloWorld [ROCINode@localhost]:Browser >> % Retrieve module objects of HelloWorld task >> helloworldmodules = getmodules(tasks(2)) helloworldmodules = [ROCINode@localhost]:HelloWorld.HelloWorld >> % Retrieve pins of module HelloWorld >> helloworldpins = getpins(helloworldmodules(1)) helloworldpins = chenbox64.helloworld.helloworld.mylogpin chenbox64.helloworld.helloworld.myalertpin >> % Retrieve data from MyLogPin pin >> pindata = readdata(helloworldpins(1)) Time: '4/11/ :59:45 PM' Message: 'Hello World!' Priority: 'NOTICE' Some objects also possess functions that modify the state of the ROCI kernel. For example, the node object contains an inject operation which starts the execution of a task. The task objects themselves have operations to suspend, resume, or terminate (kill) its execution. The behavior of the modules can be modified by altering the control parameters or sending pin data onto one of its pins. All of these operations are implemented using HTTP POST requests, as described in the section Communicating with ROCI. The following is an example of modifying a control parameter in the HelloWorld module in the previous example: >> params = getcontrolparams(helloworldmodules(1)) params = Message: 'Hello World!' Page 7 of 10

8 >> params.message = 'Good Bye World' params = Message: 'Good Bye World' >> setcontrolparams(helloworldmodules(1), params); >> pindata = readdata(helloworldpins(1)) Time: '4/11/2006 1:34:20 PM' Message: 'Good Bye World' Priority: 'NOTICE' Page 8 of 10

9 Conclusion The MATLAB-to-ROCI interface did not break new ground by contributing to research or innovation. As stated earlier, the interface was intended to be a new tool to enhance interactions with ROCI networks. Though the interface was initially envisioned to be a much higher-level query API (e.g. involving AI searching and discovery), it became apparent that an API of basic operations would be more useful and flexible in building the applications specific to the varying kinds of ROCI networks. In regards to implementation, experimental design was not a factor while working on this project, and much of the technical difficulty arose while becoming familiar with the MATLAB language and environment, and the ROCI architecture. Since ROCI is in continual development, the MATLAB-to- ROCI interface is expected to continue to be developed and modified alongside the ROCI architecture. Page 9 of 10

10 References Cowley, A., Hsu, H., and Taylor, C.J. Distributed Sensor Databases for Multi-Robot Teams, Proceedings of the 2004 IEEE Conference on Robotics and Automation (ICRA), New Orleans - LA, USA, April Cowley, A., Hsu, H., and Taylor, C.J. Software Design for Distributed Sensing and Computing Tasks, Proceedings of SPIE Vol Mobile Robots XVII, 2004, pages MATLAB 7.1. (2005). [Computer software]. The MathWorks, Inc. Page 10 of 10

ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework

ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework Vito Sabella, Camillo J. Taylor, Scott Currie GRASP Laboratory University of Pennsylvania Philadelphia PA, 19104

More information

WWW, REST, and Web Services

WWW, REST, and Web Services WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What

More information

Internet Application Developer

Internet Application Developer Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object

More information

CTI Short Learning Programme in Internet Development Specialist

CTI Short Learning Programme in Internet Development Specialist CTI Short Learning Programme in Internet Development Specialist Module Descriptions 2015 1 Short Learning Programme in Internet Development Specialist (10 months full-time, 25 months part-time) Computer

More information

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science & Engineering. Fifth Semester. Subject: Web Programming

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science & Engineering. Fifth Semester. Subject: Web Programming Govt. of Karnataka, Department of Technical Education Diploma in Computer Science & Engineering Fifth Semester Subject: Web Programming Contact Hrs / week: 4 Total hrs: 64 Table of Contents SN Content

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

More information

CTI Higher Certificate in Information Systems (Internet Development)

CTI Higher Certificate in Information Systems (Internet Development) CTI Higher Certificate in Information Systems (Internet Development) Module Descriptions 2015 1 Higher Certificate in Information Systems (Internet Development) (1 year full-time, 2½ years part-time) Computer

More information

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME CO-1 Programming fundamental using C The purpose of this course is to introduce to students to the field of programming using C language. The students

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine.

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine. What is AJAX? In one sense, AJAX is simply an acronym for Asynchronous JavaScript And XML In another, it is a protocol for sending requests from a client (web page) to a server, and how the information

More information

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology An Overview of Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 23, 2011 1. Design Principles 2. Architectural Patterns 3. Building for Degradation

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

Working with Mediator Framework

Working with Mediator Framework CHAPTER 2 This chapter describes the Mediator framework and includes the following sections: Framework Overview, page 2-1 Configurable Nodes, page 2-2 Composite Nodes, page 2-4 Getting and Setting Node

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

ROS : Robot Operating System

ROS : Robot Operating System ROS : Robot Operating System Weipeng He 2he@informatik.uni-hamburg.de 5 November, 2012 Outline Introduction Motivation Software Structure Community Conclusion Introduction What is ROS? ROS is Robot Operating

More information

AIM. 10 September

AIM. 10 September AIM These two courses are aimed at introducing you to the World of Web Programming. These courses does NOT make you Master all the skills of a Web Programmer. You must learn and work MORE in this area

More information

D WSMO Data Grounding Component

D WSMO Data Grounding Component Project Number: 215219 Project Acronym: SOA4All Project Title: Instrument: Thematic Priority: Service Oriented Architectures for All Integrated Project Information and Communication Technologies Activity

More information

Enabling Performance & Stress Test throughout the Application Lifecycle

Enabling Performance & Stress Test throughout the Application Lifecycle Enabling Performance & Stress Test throughout the Application Lifecycle March 2010 Poor application performance costs companies millions of dollars and their reputation every year. The simple challenge

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

Programming the World Wide Web by Robert W. Sebesta

Programming the World Wide Web by Robert W. Sebesta Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction

More information

Shankersinh Vaghela Bapu Institue of Technology

Shankersinh Vaghela Bapu Institue of Technology Branch: - 6th Sem IT Year/Sem : - 3rd /2014 Subject & Subject Code : Faculty Name : - Nitin Padariya Pre Upload Date: 31/12/2013 Submission Date: 9/1/2014 [1] Explain the need of web server and web browser

More information

EWD Custom Tag Development. Built-in Custom Tags for defining and manipulating Javascript

EWD Custom Tag Development. Built-in Custom Tags for defining and manipulating Javascript EWD Custom Tag Development Built-in Custom Tags for defining and manipulating Javascript Build 790 Introduction A number of very powerful custom tags have been added to EWD. Unlike many of the built-in

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies Database Systems: Design, Implementation, and Management Tenth Edition Chapter 14 Database Connectivity and Web Technologies Database Connectivity Mechanisms by which application programs connect and communicate

More information

Index LICENSED PRODUCT NOT FOR RESALE

Index LICENSED PRODUCT NOT FOR RESALE Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using

More information

Decaf Language Reference Manual

Decaf Language Reference Manual Decaf Language Reference Manual C. R. Ramakrishnan Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 cram@cs.stonybrook.edu February 12, 2012 Decaf is a small object oriented

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML Chapter 7 XML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

APPLICATION OF A METASYSTEM IN UNIVERSITY INFORMATION SYSTEM DEVELOPMENT

APPLICATION OF A METASYSTEM IN UNIVERSITY INFORMATION SYSTEM DEVELOPMENT APPLICATION OF A METASYSTEM IN UNIVERSITY INFORMATION SYSTEM DEVELOPMENT Petr Smolík, Tomáš Hruška Department of Computer Science and Engineering, Faculty of Computer Science and Engineering, Brno University

More information

WSDL Interface of Services for Distributed Search in Databases

WSDL Interface of Services for Distributed Search in Databases WSDL Interface of s for Distributed Search in s Elena Ivanova Abstract: oriented architecture and two layers model of a service are described. WSDL technology is applied to implement a network interface

More information

An Approach To Web Content Mining

An Approach To Web Content Mining An Approach To Web Content Mining Nita Patil, Chhaya Das, Shreya Patanakar, Kshitija Pol Department of Computer Engg. Datta Meghe College of Engineering, Airoli, Navi Mumbai Abstract-With the research

More information

The Object Recursion Pattern

The Object Recursion Pattern SilverMark, Inc. woolf@acm.org OBJECT RECURSION Object Behavioral Intent Distribute processing of a request over a structure by delegating polymorphically. Object Recursion transparently enables a request

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

Lesson 14 SOA with REST (Part I)

Lesson 14 SOA with REST (Part I) Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Introduction to Information Systems

Introduction to Information Systems Table of Contents 1... 2 1.1 Introduction... 2 1.2 Architecture of Information systems... 2 1.3 Classification of Data Models... 4 1.4 Relational Data Model (Overview)... 8 1.5 Conclusion... 12 1 1.1 Introduction

More information

LivePoplet: Technology That Enables Mashup of Existing Applications

LivePoplet: Technology That Enables Mashup of Existing Applications LivePoplet: Technology That Enables Mashup of Existing Applications Akihiko Matsuo Kenji Oki Akio Shimono (Manuscript received January 29, 2009) We have developed LivePoplet, a technology that allows the

More information

JOB SCHEDULER JOB DOCUMENTATION EDITOR

JOB SCHEDULER JOB DOCUMENTATION EDITOR Job Scheduler - Job Documentation Editor JOB SCHEDULER JOB DOCUMENTATION EDITOR Instructions for Creating Job Documentation August 2006 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

55191: Advanced SharePoint Development

55191: Advanced SharePoint Development Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

MURDOCH RESEARCH REPOSITORY

MURDOCH RESEARCH REPOSITORY MURDOCH RESEARCH REPOSITORY http://researchrepository.murdoch.edu.au/ This is the author s final version of the work, as accepted for publication following peer review but without the publisher s layout

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress"

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress Pro JavaScript Development Coding, Capabilities, and Tooling Den Odell Apress" Contents J About the Author About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi Chapter 1: Object-Oriented

More information

Integration Framework. Architecture

Integration Framework. Architecture Integration Framework 2 Architecture Anyone involved in the implementation or day-to-day administration of the integration framework applications must be familiarized with the integration framework architecture.

More information

M359 Block5 - Lecture12 Eng/ Waleed Omar

M359 Block5 - Lecture12 Eng/ Waleed Omar Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying

More information

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML is a markup language,

More information

Services Web Nabil Abdennadher

Services Web Nabil Abdennadher Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/

More information

Alpha College of Engineering and Technology. Question Bank

Alpha College of Engineering and Technology. Question Bank Alpha College of Engineering and Technology Department of Information Technology and Computer Engineering Chapter 1 WEB Technology (2160708) Question Bank 1. Give the full name of the following acronyms.

More information

By Lucas Marshall. All materials Copyright Developer Shed, Inc. except where otherwise noted.

By Lucas Marshall. All materials Copyright Developer Shed, Inc. except where otherwise noted. By Lucas Marshall All materials Copyright 1997 2002 Developer Shed, Inc. except where otherwise noted. Using XML RPC with PHP Table of Contents Introduction...1 Compiling PHP with XML RPC Support...2 Dissection

More information

VMer Visualized Mobile Designer for Applications on Small Devices

VMer Visualized Mobile Designer for Applications on Small Devices Proc. of the 8th WSEAS Int. Conf. on Mathematical Methods and Computational Techniques in Electrical Engineering, Bucharest, October 16-17, 2006 253 VMer Visualized Mobile Designer for Applications on

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

CS WEB TECHNOLOGY

CS WEB TECHNOLOGY CS1019 - WEB TECHNOLOGY UNIT 1 INTRODUCTION 9 Internet Principles Basic Web Concepts Client/Server model retrieving data from Internet HTM and Scripting Languages Standard Generalized Mark up languages

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

There are two main workflows for working with Cordova projects, Web focused and Platform focused.

There are two main workflows for working with Cordova projects, Web focused and Platform focused. Cordova Page 1 Getting Started Monday, 24 March 2014 7:35 PM Cordova as a.net Dev What is Cordova - Cordova is the Apache Open Source platform that was the result of the PhoneGap creators (Nitobi/Adobe)

More information

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2013, Oracle and/or its affiliates. All rights Creating Custom PDF reports with APEX 4.2.2 Marc Sewtz Senior Software Development Manager Oracle USA Inc. New York, NY 2 Copyright 2013, Oracle

More information

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use

More information

VastPark Developer SDK

VastPark Developer SDK VastPark Developer SDK Last Updated: 27th April 2009 Contents Introduction... 3 Metaforik... 4 How does it work?... 4 Write once, run everywhere... 4 Schema Documentation... 4 Examples... 4 Outerspace.xml...

More information

Programming for the Web with PHP

Programming for the Web with PHP Aptech Ltd Version 1.0 Page 1 of 11 Table of Contents Aptech Ltd Version 1.0 Page 2 of 11 Abstraction Anonymous Class Apache Arithmetic Operators Array Array Identifier arsort Function Assignment Operators

More information

SwingML Tutorial. Introduction. Setup. Execution Environment. Last Modified: 7/10/ :22:37 PM

SwingML Tutorial. Introduction. Setup. Execution Environment. Last Modified: 7/10/ :22:37 PM SwingML Tutorial Last Modified: 7/10/2007 12:22:37 PM Introduction A SwingML user interface is created using XML tags. Similar to HTML tags, SwingML tags exist that define SwingUI component attributes

More information

Browsing the Semantic Web

Browsing the Semantic Web Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 237 245. Browsing the Semantic Web Peter Jeszenszky Faculty of Informatics, University

More information

CSE Lecture 24 Review and Recap. High-Level Overview of the Course!! L1-7: I. Programming Basics!

CSE Lecture 24 Review and Recap. High-Level Overview of the Course!! L1-7: I. Programming Basics! CSE 1710 Lecture 24 Review and Recap High-Level Overview of the Course L1-7: I. Programming Basics Ch1, 2, 5, sec 3.2.4 (JBA) L8, L9: II. Working with Images APIs + Classes L10: Midterm L11-14: III. Object

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

A network is a group of two or more computers that are connected to share resources and information.

A network is a group of two or more computers that are connected to share resources and information. Chapter 1 Introduction to HTML, XHTML, and CSS HTML Hypertext Markup Language XHTML Extensible Hypertext Markup Language CSS Cascading Style Sheets The Internet is a worldwide collection of computers and

More information

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache Xidong Wang & Shiliang Hu {wxd, shiliang}@cs.wisc.edu Department of Computer Science, University of Wisconsin Madison 1. Introduction

More information

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Apache Wink Developer Guide. Draft Version. (This document is still under construction) Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer

More information

Microsoft. [MS20762]: Developing SQL Databases

Microsoft. [MS20762]: Developing SQL Databases [MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day

More information

Curriculum Guide. ThingWorx

Curriculum Guide. ThingWorx Curriculum Guide ThingWorx Live Classroom Curriculum Guide Introduction to ThingWorx 8 ThingWorx 8 User Interface Development ThingWorx 8 Platform Administration ThingWorx 7.3 Fundamentals Applying Machine

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

data analysis - basic steps Arend Hintze

data analysis - basic steps Arend Hintze data analysis - basic steps Arend Hintze 1/13: Data collection, (web scraping, crawlers, and spiders) 1/15: API for Twitter, Reddit 1/20: no lecture due to MLK 1/22: relational databases, SQL 1/27: SQL,

More information

Generic IP Camera Driver

Generic IP Camera Driver Generic IP Camera Driver Information Sheet for Crimson v3.0+ Compatible Devices IP cameras and web cameras where the static image is accessible through a web interface in either JPEG or bitmap formats.

More information

DYNAMIC CONFIGURATION OF COLLABORATION IN NETWORKED ORGANISATIONS

DYNAMIC CONFIGURATION OF COLLABORATION IN NETWORKED ORGANISATIONS 22 DYNAMIC CONFIGURATION OF COLLABORATION IN NETWORKED ORGANISATIONS Brian Shields and Owen Molloy Department of Information Technology, National University of Ireland, Galway, IRELAND. brian.shields@geminga.it.nuigalway.ie,

More information

Assessment for the CS Degree Program FY Fall 12 - Spring 13 Computer Science Dept. Texas A&M University - Commerce

Assessment for the CS Degree Program FY Fall 12 - Spring 13 Computer Science Dept. Texas A&M University - Commerce Assessment for the CS Degree Program FY 2012-2013 Fall 12 - Spring 13 Computer Science Dept. Texas A&M University - Commerce Program SLO #1 (PSLO1): Students will develop skills in problem analysis. Program

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction

More information

Internet Standards for the Web: Part II

Internet Standards for the Web: Part II Internet Standards for the Web: Part II Larry Masinter April 1998 April 1998 1 Outline of tutorial Part 1: Current State Standards organizations & process Overview of web-related standards Part 2: Recent

More information

Aspects of an XML-Based Phraseology Database Application

Aspects of an XML-Based Phraseology Database Application Aspects of an XML-Based Phraseology Database Application Denis Helic 1 and Peter Ďurčo2 1 University of Technology Graz Insitute for Information Systems and Computer Media dhelic@iicm.edu 2 University

More information

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Oracle 1Z0-895 Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-895 Answer: F QUESTION: 284 Given:

More information

The XQuery Data Model

The XQuery Data Model The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that

More information

Demonstrate web development using appropriate HTML markup tags, elements and attributes.

Demonstrate web development using appropriate HTML markup tags, elements and attributes. Long Title: HTML & Web Design Module Code: H6HTM Credits: 10 NFQ Level: LEVEL 6 Field of Study: Software and applications development and analysis Module Delivered in no programmes Module Coordinator:

More information

Northern Arizona University. Capstone Team Project. Design Document. Bit Tag. Temitope Alaga, John Dance, Joshua Frampton, Jun Rao.

Northern Arizona University. Capstone Team Project. Design Document. Bit Tag. Temitope Alaga, John Dance, Joshua Frampton, Jun Rao. Northern Arizona University Capstone Team Project Design Document Bit Tag Temitope Alaga, John Dance, Joshua Frampton, Jun Rao CS 486c Version 1.3 2/12/2016 Table of Contents: Introduction: Architectural

More information

Web Engineering (CC 552)

Web Engineering (CC 552) Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience

More information

Java EE 7: Back-end Server Application Development 4-2

Java EE 7: Back-end Server Application Development 4-2 Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data

More information

Project Title REPRESENTATION OF ELECTRICAL NETWORK USING GOOGLE MAP API. Submitted by: Submitted to: SEMANTA RAJ NEUPANE, Research Assistant,

Project Title REPRESENTATION OF ELECTRICAL NETWORK USING GOOGLE MAP API. Submitted by: Submitted to: SEMANTA RAJ NEUPANE, Research Assistant, - 1 - Project Title REPRESENTATION OF ELECTRICAL NETWORK USING GOOGLE MAP API Submitted by: SEMANTA RAJ NEUPANE, Research Assistant, Department of Electrical Energy Engineering, Tampere University of Technology

More information

HTML, XHTML, and CSS. Sixth Edition. Chapter 1. Introduction to HTML, XHTML, and

HTML, XHTML, and CSS. Sixth Edition. Chapter 1. Introduction to HTML, XHTML, and HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS Chapter Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key

More information

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 1 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) WHO

More information

Using ESML in a Semantic Web Approach for Improved Earth Science Data Usability

Using ESML in a Semantic Web Approach for Improved Earth Science Data Usability Using in a Semantic Web Approach for Improved Earth Science Data Usability Rahul Ramachandran, Helen Conover, Sunil Movva and Sara Graves Information Technology and Systems Center University of Alabama

More information

HTTP Server Application

HTTP Server Application 1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Creating Workflows. What is Prime Network Workflow? CHAPTER

Creating Workflows. What is Prime Network Workflow? CHAPTER CHAPTER 12 The following topics describe how to use the Prime Network Workflow GUI client to create workflow templates that allow you to deploy and executed in runtime. What is Prime Network Workflow?,

More information

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective

More information

Master Project Software Engineering: Team-based Development WS 2010/11

Master Project Software Engineering: Team-based Development WS 2010/11 Master Project Software Engineering: Team-based Development WS 2010/11 Implementation, September 27 th, 2011 Glib Kupetov Glib.Kupetov@iese.fraunhofer.de Tel.: +49 (631) 6800 2128 Sebastian Weber Sebastian.Weber@iese.fraunhofer.de

More information

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

Local area network (LAN) Wide area networks (WANs) Circuit. Circuit switching. Packets. Based on Chapter 2 of Gary Schneider.

Local area network (LAN) Wide area networks (WANs) Circuit. Circuit switching. Packets. Based on Chapter 2 of Gary Schneider. Local area network (LAN) Network of computers located close together Wide area networks (WANs) Networks of computers connected over greater distances Based on Chapter 2 of Gary Schneider. (2009). E-Business.

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

PHP: Hypertext Preprocessor. A tutorial Introduction

PHP: Hypertext Preprocessor. A tutorial Introduction PHP: Hypertext Preprocessor A tutorial Introduction Introduction PHP is a server side scripting language Primarily used for generating dynamic web pages and providing rich web services PHP5 is also evolving

More information

Extending Blaise Capabilities in Complex Data Collections

Extending Blaise Capabilities in Complex Data Collections Extending Blaise Capabilities in Complex Data Collections Paul Segel and Kathleen O Reagan,Westat International Blaise Users Conference, April 2012, London, UK Summary: Westat Visual Survey (WVS) was developed

More information

Design Document V2 ThingLink Startup

Design Document V2 ThingLink Startup Design Document V2 ThingLink Startup Yon Corp Andy Chen Ashton Yon Eric Ouyang Giovanni Tenorio Table of Contents 1. Technology Background.. 2 2. Design Goal...3 3. Architectural Choices and Corresponding

More information

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration Dean Brown, Dominick Profico Lockheed Martin, IS&GS, Valley Forge, PA Abstract As Net-Centric enterprises grow, the desire

More information