Using JavaScript on Client and Server with Project Phobos

Size: px
Start display at page:

Download "Using JavaScript on Client and Server with Project Phobos"

Transcription

1 Using JavaScript on Client and Server with Project Phobos Roberto Chinnici Senior Staff Engineer Sun Microsystems, Inc. July 27, 2007

2 JavaScript in the browser 2

3 JavaScript 1.x Browser quirks JavaScript libraries Widget toolkits Google Gears 3

4 JavaScript in the browser JavaScript on the server 4

5 JavaScript in the browser JSON on the wire JavaScript on the server 5

6 JavaScript in the browser JSON on the wire + cross-tier JavaScript code JavaScript on the server 6

7 How similar are the two environments? 7

8 Which one is the tail and which one the dog? 8

9 Project Phobos 9

10 What is Phobos? Lightweight web application framework Running on the Java platform All application logic is JavaScript Most of the framework itself is in JavaScript Deploy to any servlet container 10

11 Core Phobos Functionality URL mapping/dispatching JSR-223 scripting engine integration Request/session/application contexts Asynchronous script execution Container independence Debugging support in NetBeans 11

12 Server Architecture JAVASCRIPTAPPLICATION CODE JAVASCRIPT/ AJAX LIBRARIES PHOBOS JAVASCRIPT LIBRARIES MOZILLA RHINO PHOBOS RUNTIME JAVA LIBRARIES JAVA PLATFORM APACHE DERBY (DB) 12

13 Client Architecture JAVASCRIPTAPPLICATION CODE JAVASCRIPT/ AJAX LIBRARIES BROWSER GOOGLE GEARS 13

14 Development Process 1. Start NetBeans 2. Create skeleton application using wizard 3. Run it in debug mode 4. Map out the URLs for pages, services, Ajax 5. Attach logic to them 6. Test out interactively 7. Go back to step 4, repeat 8. Stop the application, you're done 14

15 Tool Support Phobos ships as NetBeans plugins Project and component wizards jmaki widget palette Multithreaded debugger Breakpoints, inspectors, watches,... Server runs embedded in the IDE 15

16 URL Design Plain scripts /dosomething.js Controller/action /store/display_cart Resource /book/isbn/ User-defined any regexp 16

17 Defining New Patterns Add new rules at startup or on the fly application.mapping.rules.push({ }); url: factory: "module.atom.createfeedresource", fn: "library.mapping.mayberest" Named functions in yellow 17

18 Application Layout /application /controller test.js /dynamic sample.ejsp /module application.js /script index.js /template /view test.ejs /static /resources...jmaki... /css main.css faq.html release_notes.html /environment development.js startup-webapp.js 18

19 Plain Scripts Servlet-like request/response objects bound in context response.status = 200; response.contenttype = text/html ; var writer = response.writer; writer.println( <html><head>...</body></html> ); writer.flush(); /sample.js /application/script/sample.js 19

20 Controllers JavaScript classes with methods // package library.common.define(controller, "main", function() { function Main() { } // class Main.prototype.show = function() { // method library.view.render( show.ejs ); } this.main = Main; // export }); /@controller/@action /main/show 20

21 Minimal Requirements Basic contract is onrequest method Freedom to structure controller code any way you want plain JavaScript OO facilities from Prototype, Dojo, YUI TrimPath Junction ActiveController port (maybe in the future...) 21

22 Using JavaScript Libraries No special treatment for built-in libraries Dojo 0.9, Prototype, YUI all usable Load them in a controller (or using an event handler) library.dojo.load( /application/dojo0.9 ); library.scripting.run( prototype.js ); Be careful in modifying Object.prototype and friends in the presence of pooling Other globals OK 22

23 Scripting Engine Integration Optional compilation to bytecode Compiled scripts are cached Engines are pooled Works with any JSR-223 engine JavaScript engine hooked to debugger API 23

24 Mozilla Rhino + Extensions Dynamic objects via JSAdapter E4X property get/set coming in Rhino 1.6R6 Lots of constructs become possible: autoloaded modules builders multiple inheritance missing_method / doesnotunderstand: 24

25 E4X ECMA 357 XML support at the language level literals, namespaces, interpolation XPath like syntax for each construct Powerful, not entirely intuitive 25

26 E4X - Examples // HTML var doc = <html/>; doc.head.title = Hello, world! ; doc.body.@bgcolor = # ; doc.body.p = What's up, doc? ; // ATOM var nsatom = new Namespace("atom", " default xml namespace = nsatom; var doc = <entry><title>{args.title}</title><summary>{args.summary} /summary></entry>; 26

27 Views / Templating with EJS PHP / ASP / RHTML-like syntax <html> <head> <title><%= model.title %></title> </head> <body> <% generatebody() %> </body> </html> 27

28 Response Post-Processing Capture view output Process the response headers/body Use DOM/E4X to parse the page HTML parser would be nice Browser-like stage? e.g. could use <script> tag for server-side too 28

29 jmaki Lightweight JavaScript framework Spans multiple widget libraries Unified interface to widgets Event-based component glueing CSS-based layouts Server-agnostic: JSP, JSF, Phobos, PHP 29

30 jmaki Support in Phobos Built-in library.jmaki Configured with JSON Use common resource layout Widget palette in NetBeans Small footprint Widget libraries added on first use 30

31 REST Support Not controller-based Resources are classes Methods are HTTP methods Code deals with HTTP entities Framework takes care of HTTP details.e.g. Etags, conditional operations, etc. Sample APP server 31

32 Asynchronous Tasks Multithreaded runtime Schedule scripts for execution in the background Pass arguments in JSON format library.lang.invokeasync calls a named function in a new thread Actor abstraction possible Port XMLHttpRequest? 32

33 Persistence Options JavaScript wrapper for Java Persistence Native JavaScript DB API on top of JDBC ActiveRecord port to JavaScript* Port of low-level Gears API* * in progress 33

34 Persistence Gotchas Cross-platform DB abstraction? SQL dialect difference hell SQLLite vs Apache Derby vs... Higher level APIs much more promising GearsORM would be ideal 34

35 Soft Scripting Engines Non-embedded DSL facility Translate to favorite target language Plug new languages Implemented by one JavaScript function Inherit debugging support from lower layer Example: Narrative JavaScript (.njs files) 35

36 Narrative JavaScript New yield operator (->) for async calls Implemented as a preprocessor Separate browser/server runtime End goals: Painless asynchronous processing Continuation-like behavior without the cost Just last week: Strands 36

37 COMET Supported via Grizzly HTTP connector Asynchronous Request Processing (ARP) CometContext.notify exposed to the application CometHandler.onEvent implemented by the application Use regular comet libraries on the client 37

38 Other Features Multiple environments Multiple platforms embedded in a war file on GlassFish V3 standalone from the command line Extension framework System apps 38

39 JavaScript Everywhere 39

40 Emulating the Browser Maybe good idea for development, but... Hard to do for production code Ugly environment Do you really want to use DOM everywhere? Multithreading issues XmlHttpRequest poor abstraction Gears full of SQLLite idiosyncrasies 40

41 A Better Approach Strive to write code than runs everywhere Isolate server-only code Use JSON data format consistently Named functions with JSON arguments message-passing model Keep it simple 41

42 Writing Neutral Code Use same foundation everywhere e.g. Prototype, or Dojo, or... Keep it simple / YAGNI plain controllers, plain templates stick to core JavaScript language Define data layer abstraction Use good, high-level, cross-tier libraries jquery, GearsORM, Strands 42

43 Plea To Library Writers We need more environment-neutral JavaScript libraries E.g. Dojo hostenv abstraction, profiles Establish pattern for abstraction layer Unfortunately, may worsen performance Maybe preprocessing will help? 43

44 JavaScript in the browser JavaScript on the server 44

45 The tail / dog metaphor is wrong 45

46 They are twins separated at birth 46

47 Using JavaScript on Client and Server with Project Phobos Roberto Chinnici 47

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

How to Install (then Test) the NetBeans Bundle

How to Install (then Test) the NetBeans Bundle How to Install (then Test) the NetBeans Bundle Contents 1. OVERVIEW... 1 2. CHECK WHAT VERSION OF JAVA YOU HAVE... 2 3. INSTALL/UPDATE YOUR JAVA COMPILER... 2 4. INSTALL NETBEANS BUNDLE... 3 5. CREATE

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

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes AJAX Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11 Sérgio Nunes Server calls from web pages using JavaScript call HTTP data Motivation The traditional request-response cycle in web applications

More information

Services Interoperability With Java Technology and.net: Technologies for Web 2.0

Services Interoperability With Java Technology and.net: Technologies for Web 2.0 Services Interoperability With Java Technology and.net: Technologies for Web 2.0 Marina Fisher, Staff Engineer, ISV Engineering Gerald Beuchelt, Sr. Staff Engineer, CTO Office Sun Microsystems, Inc. http://www.sun.com/

More information

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems GWT and jmaki: Expanding the GWT Universe Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems Learn how to enhance Google Web Toolkit (GWT) to include many Ajax enabled

More information

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Webservices In Java Tutorial For Beginners Using Netbeans Pdf Webservices In Java Tutorial For Beginners Using Netbeans Pdf Java (using Annotations, etc.). Part of way) (1/2). 1- Download Netbeans IDE for Java EE from here: 2- Follow the tutorial for creating a web

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

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

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO RIA Security - Broken By Design Joonas Lehtinen IT Mill - CEO a system is secure if it is designed to be secure and there are no bugs no system should be designed to be insecure not all bugs are security

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),

More information

PHP 6 & The PHP Collaboration Project Present & Future. Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP

PHP 6 & The PHP Collaboration Project Present & Future. Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP PHP 6 & The PHP Collaboration Project Present & Future Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP PHP 6 Key Improvements Unicode support Polish up OO including tostring() support

More information

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc.

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda What is and Why jmaki? jmaki widgets Using jmaki widget - List widget What makes up

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

More information

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman THE NEW ERA OF WEB DEVELOPMENT qooxdoo Andreas Ecker, Derrell Lipman The Ajax Experience, 25-27 July 2007 1 Introduction Client-side JavaScript framework Professional application development Comprehensive

More information

Performance Tune your Ajax Applications. The Ajax Experience 2007 Bob Buffone

Performance Tune your Ajax Applications. The Ajax Experience 2007 Bob Buffone Performance Tune your Ajax Applications The Ajax Experience 2007 Bob Buffone Agenda Introduction Performance Tuning Startup Time Runtime Metrics jslex Introduction Name: Company: Position: Bob Buffone

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

Create-A-Page Design Documentation

Create-A-Page Design Documentation Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012

More information

Real Life Web Development. Joseph Paul Cohen

Real Life Web Development. Joseph Paul Cohen Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA 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:

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 FEATURES AND FACILITIES SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: JDeveloper features. Java in the database. Simplified database access. IDE: Integrated Development

More information

Architecting Java solutions for CICS

Architecting Java solutions for CICS Architecting Java solutions for CICS Architecting Java solutions for CICS Course introduction Course introduction Reasons for hosting Java in CICS Requirements: Knowledge of transaction processing Experience

More information

IBM JZOS Meets Web 2.0

IBM JZOS Meets Web 2.0 IBM JZOS Meets Web 2.0 Tuesday, August 3 rd 2010 Session 7637 Steve Goetze Kirk Wolf http://dovetail.com info@dovetail.com Copyright 2010, Dovetailed Technologies Abstract The development and deployment

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: CDN$3275 *Prices are subject to GST/HST Course Description: This course provides a comprehensive introduction to JPA

More information

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an  with the URL Grading: CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual

More information

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Overview the pleasure of using AJAX apps. the pain of creating them. getting some pain relief with GWT. the tutorial part.

More information

Implementing Asynchronous Web Application using Grizzly's Comet. Jeanfrancois Arcand Staff Engineer Java WebTier

Implementing Asynchronous Web Application using Grizzly's Comet. Jeanfrancois Arcand Staff Engineer Java WebTier Implementing Asynchronous Web Application using Grizzly's Comet. Jeanfrancois Arcand Staff Engineer Java WebTier Agenda Introduction > What is Grizzly > What is Comet Request Processing Comet support in

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Introduction to Ajax. Sang Shin Java Technology Architect Sun Microsystems, Inc.

Introduction to Ajax. Sang Shin Java Technology Architect Sun Microsystems, Inc. Introduction to Ajax Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda 1.What is Rich User Experience? 2.Rich Internet Application (RIA) Technologies

More information

Notes General. IS 651: Distributed Systems 1

Notes General. IS 651: Distributed Systems 1 Notes General Discussion 1 and homework 1 are now graded. Grading is final one week after the deadline. Contract me before that if you find problem and want regrading. Minor syllabus change Moved chapter

More information

AJAX: Rich Internet Applications

AJAX: Rich Internet Applications AJAX: Rich Internet Applications Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming AJAX Slide 1/27 Outline Rich Internet Applications AJAX AJAX example Conclusion More AJAX Search

More information

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Ajax The notion of asynchronous request processing using the XMLHttpRequest object has been around for several years, but the term "AJAX" was coined by Jesse James Garrett of Adaptive Path. You can read

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code. 20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This

More information

DOT NET Syllabus (6 Months)

DOT NET Syllabus (6 Months) DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL

More information

Open Source Library Developer & IT Pro

Open Source Library Developer & IT Pro Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4

More information

Credits: Some of the slides are based on material adapted from

Credits: Some of the slides are based on material adapted from 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

More information

JSR-286: Portlet Specification 2.0

JSR-286: Portlet Specification 2.0 JSR-286: Portlet Specification 2.0 Upcoming enhancements and new features for Portal and Portlet Developers Ate Douma JSR-286 Expert Group Software Architect Hippo Open Source Content Management Software

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

JVA-117A. Spring-MVC Web Applications

JVA-117A. Spring-MVC Web Applications JVA-117A. Spring-MVC Web Applications Version 4.2 This course enables the experienced Java developer to use the Spring application framework to manage objects in a lightweight, inversion-of-control container,

More information

Improve and Expand JavaServer Faces Technology with JBoss Seam

Improve and Expand JavaServer Faces Technology with JBoss Seam Improve and Expand JavaServer Faces Technology with JBoss Seam Michael Yuan Kito D. Mann Product Manager, Red Hat Author, JSF in Action http://www.michaelyuan.com/seam/ Principal Consultant Virtua, Inc.

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

JAVA SYLLABUS FOR 6 MONTHS

JAVA SYLLABUS FOR 6 MONTHS JAVA SYLLABUS FOR 6 MONTHS Java 6-Months INTRODUCTION TO JAVA Features of Java Java Virtual Machine Comparison of C, C++, and Java Java Versions and its domain areas Life cycle of Java program Writing

More information

COPYRIGHTED MATERIAL

COPYRIGHTED MATERIAL Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses

More information

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs.

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs. Web API Lab In this lab, you will produce three deliverables in folder 07_webApi : 1. A server side Web API (named webapi.jsp) that accepts an input parameter, queries your database, and then returns a

More information

13. Databases on the Web

13. Databases on the Web 13. Databases on the Web Requirements for Web-DBMS Integration The ability to access valuable corporate data in a secure manner Support for session and application-based authentication The ability to interface

More information

JVA-117E. Developing RESTful Services with Spring

JVA-117E. Developing RESTful Services with Spring JVA-117E. Developing RESTful Services with Spring Version 4.1 This course enables the experienced Java developer to use the Spring MVC framework to create RESTful web services. We begin by developing fluency

More information

Web 2.0 Käyttöliittymätekniikat

Web 2.0 Käyttöliittymätekniikat Web 2.0 Käyttöliittymätekniikat ELKOM 07 Sami Ekblad Projektipäällikkö Oy IT Mill Ltd What is Web 2.0? Social side: user generated contents: comments, opinions, images, users own the data The Long Tail:

More information

Application Integration with WebSphere Portal V7

Application Integration with WebSphere Portal V7 Application Integration with WebSphere Portal V7 Rapid Portlet Development with WebSphere Portlet Factory IBM Innovation Center Dallas, TX 2010 IBM Corporation Objectives WebSphere Portal IBM Innovation

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

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: Objectives/Outline Objectives Outline Understand the role of Learn how to use in your web applications Rich User Experience

More information

Financial. AngularJS. AngularJS.

Financial. AngularJS. AngularJS. Financial http://killexams.com/exam-detail/ Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview Questions with their answers hidden in a box to challenge

More information

Introduction to Worklight Integration IBM Corporation

Introduction to Worklight Integration IBM Corporation Introduction to Worklight Integration Agenda IBM Mobile Foundation Introduction to Worklight How to Integrate Worklight Adapters WebAPI HTTP & SOAP Database (SQL) WebSphere Message Broker Cast Iron 2 IBM

More information

Ch04 JavaServer Pages (JSP)

Ch04 JavaServer Pages (JSP) Ch04 JavaServer Pages (JSP) Introduce concepts of JSP Web components Compare JSP with Servlets Discuss JSP syntax, EL (expression language) Discuss the integrations with JSP Discuss the Standard Tag Library,

More information

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

Web Architecture and Technologies

Web Architecture and Technologies Web Architecture and Technologies Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding Web technologies Adopted for User Interfaces Adopted for Distributed Application

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

XAP: extensible Ajax Platform

XAP: extensible Ajax Platform XAP: extensible Ajax Platform Hermod Opstvedt Chief Architect DnB NOR ITUD Hermod Opstvedt: XAP: extensible Ajax Platform Slide 1 It s an Ajax jungle out there: XAML Dojo Kabuki Rico Direct Web Remoting

More information

Unveiling Zend Studio 8.0

Unveiling Zend Studio 8.0 Unveiling Zend Studio 8.0 Roy Ganor Project Lead Zend Studio http://twitter.com/royganor Download! Native Installers! Zend Studio Releases 2006 2007 2007 2008 2008 2009 2009 2010 2010 Studio 6.0 Studio

More information

Financial. AngularJS. AngularJS. Download Full Version :

Financial. AngularJS. AngularJS. Download Full Version : Financial AngularJS AngularJS Download Full Version : https://killexams.com/pass4sure/exam-detail/angularjs Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview

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

Google Plugin for Eclipse

Google Plugin for Eclipse Google Plugin for Eclipse Not just for newbies anymore Miguel Mendez Tech Lead - Google Plugin for Eclipse 1 Overview Background AJAX Google Web Toolkit (GWT) App Engine for Java Plugin Design Principles

More information

New Face of z/os Communications Server: V2R1 Configuration Assistant

New Face of z/os Communications Server: V2R1 Configuration Assistant New Face of z/os Communications Server: V2R1 Configuration Assistant Kim Bailey (ktekavec@us.ibm.com) IBM August 14, 2013 Session # 13630 Agenda What is the Configuration Assistant and how can it help

More information

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK Programming for Digital Media Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 Topics Ajax (Asynchronous JavaScript and XML) What it is and

More information

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries AJAX for Libraries Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Karen A. Coombs Head of Web Services University of Houston Libraries Outline 1. What you re

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

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

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

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE

More information

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?

More information

Fall Semester (081) Module7: AJAX

Fall Semester (081) Module7: AJAX INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: AJAX Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

More information

20486-Developing ASP.NET MVC 4 Web Applications

20486-Developing ASP.NET MVC 4 Web Applications Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an

More information

AJAX Programming Chris Seddon

AJAX Programming Chris Seddon AJAX Programming Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 What is Ajax? "Asynchronous JavaScript and XML" Originally described in 2005 by Jesse

More information

Course 20480: Programming in HTML5 with JavaScript and CSS3

Course 20480: Programming in HTML5 with JavaScript and CSS3 Course 20480: Programming in HTML5 with JavaScript and CSS3 Overview About this course This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript

More information

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 ABOUT THIS COURSE This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript programming skills. This course is an entry point into

More information

AD105 Introduction to Application Development for the IBM Workplace Managed Client

AD105 Introduction to Application Development for the IBM Workplace Managed Client AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

Architecting Java solutions for CICS This course presents the compelling reasons for developing Java applications in CICS Transaction Server. The course covers the various usage models of Java applications

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

When learning coding, be brave

When learning coding, be brave Who am I? Web Technology Overview with a focus on JavaScript-based technologies Lawrence Yao l.yao@unsw.edu.au Lawrence Yao UNSW casual staff Developer Analyst at YTML Consulting Email me if you need technical

More information

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

PHP. MIT 6.470, IAP 2010 Yafim Landa

PHP. MIT 6.470, IAP 2010 Yafim Landa PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems

More information

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle Project Avatar: Server Side JavaScript on the JVM GeeCon - May 2014! David Delabassee @delabassee Software Evangelist - Oracle The following is intended to outline our general product direction. It is

More information

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING.

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING. AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED Java TRAINING www.webliquids.com ABOUT US Who we are: WebLiquids is an ISO (9001:2008), Google, Microsoft Certified Advanced Web Educational Training Organisation.

More information

SSC - Web applications and development Introduction and Java Servlet (I)

SSC - Web applications and development Introduction and Java Servlet (I) SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn

More information

Using XML and RDBMS Data Sources in XPages Paul T. Calhoun NetNotes Solutions Unlimited, Inc

Using XML and RDBMS Data Sources in XPages Paul T. Calhoun NetNotes Solutions Unlimited, Inc Using XML and RDBMS Data Sources in XPages Paul T. Calhoun NetNotes Solutions Unlimited, Inc 2010 by the individual speaker Sponsors 2010 by the individual speaker Speaker Information Independent Consultant,

More information

Programming in HTML5 with JavaScript and CSS3

Programming in HTML5 with JavaScript and CSS3 Programming in HTML5 with JavaScript and CSS3 20480B; 5 days, Instructor-led Course Description This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic

More information

Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First

Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First Solving Mobile App Development Challenges Andrew Leggett & Abram Darnutzer CM First CM First WebClient Solutions CM WebClient Full desktop experience in browser CM WebClient Mobile Online mobile solution,

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information