Web 2.0 to 4.0 RIAs, APIs, and Scalability

Computer Applications Training SYS-ED SYSED

Web 2.0 to 4.0 - Rich Internet Applications, APIs, and Scalability

Programming Languages Sitemap

     

Web 2.0to 4.0 RIA,APIs, and Scalability Advanced search

Submit Programming Language Questions

Evolving Business Model

Contact You

Knowledge Transfer

Web-based Training Services

Delivery Medium

     

Web 2.0 to 4.0 Training

RIA, APIs, and Scalability
Web 2.0 Technologies Separation of Presentation and Content HTML5 and Mobile Devices
API Management Technology and Developer Tools Representational State Transfer and Horizontally-scaled Architecture Web Services
SOA: Service Oriented Architecture SYS-ED Training Service Technology Exchange Websites

Infrastructure Evaluation and Application Design for Coding

   

Web 2.0 Technologies

Industry studies project that Web 2.0 technologies will constitute a $4.6 billion software market by 2013. In all likelihood, mashups, podcasts, wikis, and RSS will increasingly need to be integrated into workstation desktops and mobile devices. Accordingly, there will be strategic implications for CIO's, enterprise architects, system architects, web architectures, and IT developers.

Web 2.0 to 4.0 >> Computer Applications Training   << Enlarge by Clicking 
   
Scripting 

Changing the interface will not be as straightforward as adding RSS feeds or blogs to make business applications more interactive and targeted to specific visitors. There are consequences when layering Web 2.0 technologies on existing applications; an application modernization strategy will be required. An organization's information technology infrastructure will need to be able to support a Web 2.0 modernization effort and extend beyond mapping the applications. Web services and SOA: Service Oriented Architecture also will be utilized and coded. RIA: Rich Internet application platforms have emerged; however, there is no universal best approach to building RIAs. The issues being debated include whether applications should be:1- Deployed on the desktop or in a browser. 2- Developed from an API framework. 3- Coded with open source software AJAX or Java.  4- Repurposed and extended as part of a SOA: Service Oriented Architecture strategy from an existing investment in proprietary software companies: IBM, Microsoft, or Oracle.


Separation of Presentation and Content

The separation of presentation and content has become increasingly important as web pages are being rendered on more and more devices: 3270 workstations, personal computers, laptops, smartphones, and tablet PCs. The client/server model is the foundation for the interaction between web browsers and web servers. HTML is a fault tolerant language in which errors are ignored; it is the predominant markup language for the creation of web pages. HTTP is a protocol for getting a request for a page from a client to a web server and getting the requested page in a reply back to the browser. An HTML document is allowed to have scripted code embedded. HTML increasingly is generated programmatically by applications. An online database will rely on the assumption that no layout information needs to be stored for its content; this information will be added as its content is being accessed for display.

In HTML, presentation can be specified within a document or separately within CSS: Cascading Style Sheet files. There also is XML, a W3C recommendation for a general-purpose markup language, which supports a wide variety of applications and has no predefined tags. Client-side scripting typically is performed with JavaScript and makes use of the fact that a web browser can both render HTML pages and execute programs. This allows for some tasks in a website to be offloaded onto the client. With Server-side scripting, such as PHP, user requests are fulfilled by running a script directly on the web server to generate dynamic HTML pages. It provides the capability to develop interactive web sites that interface databases or other data stores as well as local or external sources. A significant advantage associated with server-side scripting is the ability to customize the response and presentation based on a user's requirements, access rights, or query results returned by a database.

Both client-server and server-side scripting is based on the client/server paradigm with synchronous interaction and processing of data, the sending of data directly to the server for processing, and responses being received from the server without the need to reload an entire page. In order to enhance web programming, the HTML creation and its dynamic modification has been extended to provide the HTML generation on the client. This further separation of the user interface logic from business logic is known as AJAX: Asynchronous JavaScript and XML. AJAX is a web development technique that allows developers to build rich applications that are similar in functionality to desktop applications, the difference being that they execute in a web browser. Its main functionality stems from an exploitation of XMLHttpRequest, a JavaScript class with specific properties and methods supported by the web browser which allows HTTP requests to be send from inside JavaScript code.


HTML5 and Mobile Devices

HTML5 represents the next significant phase in the progress of the world wide web. HTML5 provides the capability to develop web applications which are visually rich and comparable to the native applications that are that are designed to run on a specific device such as an iPad or an Android-based tablet. Prior to HTML5, it would not be not reasonable to assume that the HTML will work the same way as the HTML in a desktop operating system web browser. However, with HTML5 this is about to change.

HTML5 will provide the capability to browse multimedia content without downloading extra software to check e-mail offline, access web search, and perform transactions on a smartphone. APIs: Application Programming Interfaces are used in native HTML5 by application developers to develop web apps for execution in a web browser. With HTML5 it will not be necessary to write new code to reach multiple platforms.

Important new facilities in HTML5 include:

Facility Explanation
Video Most videos have been implemented through a plugin and not all browsers have the same plugins. HTML5 specifies a standard way to include video, with the video element.
Audio Specifies a standard way to include audio, with the audio element. The audio element can play sound files, or an audio stream.
Canvas Element A canvas is a rectangular area which is controlled at the pixel level. The canvas element has several methods for drawing paths, boxes, circles, characters, and adding images. JavaScript is used to draw graphics on a web page.
Storing Data

There are now two methods for storing data on the client:

  • localStorage - stores data with no time limit.
  • sessionStorage - stores data for one session.
Privacy and Security Online privacy is controlled by adjusting settings on the web browser. Each browser has different privacy settings, but not all of them have obvious settings for removing data created by the new web language. With HTML5 there are multiple locations for data storage, which makes it very difficult for browser manufacturers to handle deletion of data with a single control. The tradeoff will be to balance speed with an expanded featureset and controlling privacy.


Native HTML5 makes extensive utilization of APIs: client-side messaging, communication, EventSource, extended web forms, PostMessage, storage, and Web Sockets.


API Management Technology and Developer Tools

Organizational enterprise is increasingly dependent on real-time flow of information across systems to improve the way they operate. Accordingly, the rapid growth of the application- and mobile-driven Internet has made the APIs: Application Programming Interfaces increasingly important. Well designed APIs make it easier to create apps and language-specific API frameworks provide the foundation for creating usable APIs such as Grape for Ruby and FRAPI for PHP. The API is an abstraction provided to the developer to interact with the platform; it is the platform that translates the high-level API calls to the low-level system calls.

Cloud computing and new device platforms are being driven by specialized APIs and protocols in order to communicate and access data and events:

Organization Source Functionality
YouTube PubSubHubBub Protocol Allows services to push notifications rather than forcing clients to poll for events.
Twitter Streaming API Allows real-time access to data.
Notifo API Used in mobile applications for pushing notifications from many services to phones.


JSON and XML JSON and XML are the primary ways APIs exchange data. Historically, APIs have supported both JSON and XML. However, this appears to be changing. JSON is a valid subset of JavaScript, Python, and YAML and works well with JavaScript, Python, and PHP. JSON is easier to use in JavaScript, requires less processing, and is more self documenting than XML. JSON specifies how to represent complex datatypes, there is no single best way to represent a data structure in XML. Developers often find it easier to use JSON than XML.

XML is an extendable language; tags can be reused or created. XML can have schema which is very useful in specifying its structure of the XML. For a simple data structure, JSON and some descriptive text will be satisfactory. When working with more complex data structures, schemas can be used to validate data and debug errors. There are some languages that do not support JSON and XML would have to be used. In 2010, Twitter's streaming API and Foursquare API ended XML support.


Representational State Transfer and Horizontally-scaled Architecture

The REST architectural style was developed in parallel with HTTP/1.1. REST is the framework which defines and constrains the macro-interactions of the four components of the web: origin servers, gateways, proxies and clients. REST governs the proper behavior of participants without imposing limitations on individual participants. The byproduct of widespread utilization of open source technologies in Web 2.0 deployments has resulted in the standardization of a horizontally-scaled architecture. Typical web 2.0 and enterprise 2.0 sites support clients that make requests over the Internet. These requests are initially processed by a set of load balancers or reverse proxy servers that handle static requests and forward requests to back-end web and application servers. The web tier accesses structured data from back-end database servers and unstructured data from object stores as required. The web application also accesses external resources - web services which are external to the site. APIs which conform with REST are easier to code and exhibit superior performance - minimize overhead and latency during the processing of data.

Restful API: Application Programming Interfaces have been designed for conformance with the architectural standards of the Representational State Transfer. Scale ability. APIs provide the specialization and flexibility to code applications which utilize the open source standards of HTML5. There has been an enormous increase in the number and variety of APIs. To a significant degree the development of web apps for mobile devices is being driven by Restful APIs.

Organizational enterprise with a substantial information technology infrastructure in place: mainframe system software and applications, web servers, and enterprise database will be evaluating whether their inventory of code can be accessed or repurposed utilizing a SOA: Service Oriented Architecture framework.

 

 

Web Server Training Services

Information Technology in Transition

Information Technology Infrastructure - Open Source Software Alternative

Open Source Software 

 

Cross Platform Expertise and Experienced Staff

Longstanding Consultancy Experience
in Information Technology 

 


Technology Updates
 
Microsoft Windows OS Family Platform
MS PowerShell
Technology Update
  
 
MS SharePoint Server
Technology Update
 
MS Windows Server 2008
Technology Update
MS Virtualization Server
Technology Update
 
 
MS Windows 7
Technology Update
 
MS Windows 8 - build
Technology Update


Linux-variant Operating Systems
Red Hat Fedora Linux
Technology Update
SUSE Linux
Technology Update
Ubuntu Linux
Technology Update


Open Source Software
Apache Web Server
Technology Update
 
Java
Technology Update
 
MySQL
Technology Update
 
UNIX Administration
Technology Update
UNIX Programming Technology Update XML
Technology Update

Mobile Devices
Android-Honeycomb OS
Technology Update
Apple - Mac Lion OS to iPad Emulation
Technology Update
 
Google Chrome Web Browser
Technology Update
 
 
Google Chrome OS
Technology Update
 
HTML5 Technology Update  MS Internet Explorer Technology Update  
MS Office Web and Office 2010 Technology Update    MS Windows Phone 7 OS
Technology Update  
 
SmartPhone and Mobile Device Programming  


IBM Development Platform
Rational Developer for System z
Technology Update
 
 
WebSphere
Technology Update
 
WebSphere MQ
Technology Update
 


Microsoft Development Platform
MS .NET
Technology Update
MS SQL Server
Technology Update
MS Silverlight Technology Update    


Oracle Development Platform
Oracle Fusion and Roadmap
Technology Update
Oracle SOA: Service Oriented Architecture
Technology Update
 
WebLogic
Technology Update

Learning Paths
 

MS Networks and Operating Systems MS SharePoint Server
PC Databases Web Design

FOSS: Free Open Source Software
C/C++ to Java Migration Java
UNIX XML

Microsoft Development Platforms

MS Applications Development MS Service Oriented Architecture 1
MS Service-Oriented Architecture 2 MS .NET
MS SQL Server 2008 MS VB to Java Migration

DB2 IBM WebSphere
Oracle Oracle WebLogic
Crystal Reports Business Intelligence SAS



Client/Server to Internet Programming Training Services Advanced search

In order to review and print additional information on course topics, audience, and duration, invoke the Search button.
 


Web Services

Web services extend the client/server paradigm through the use of an explicit registry; thereby solving the problem of locating a service in a way that is appropriate for the web. A service requester, the client, looks for a service to send a corresponding query to a service registry. If the requested service is found, the client can contact the service provider and use the service. The provider has previously published its services in the registry. The web services hide all details concerning their implementation and the platforms they are based on; they essentially come with a unique URI that point to the provider. Since web services are generally assumed to be interoperable, they can be combined with other services to build new applications with more comprehensive functionality than any single service involved. To achieve these goals, web services are commonly based on standard, in particular on the XML-based specifications - SOAP: Simple Object Access Protocol, UDDI: Universal Description, Discovery, and Integration, and WSDL: Web Services Description Language.

In order to communicate with a web service, an application adds a web service consumer code. This code uses UDDI to locate the code in the web service in the directory or registry and then send a SOAP/REST communication to invoke the web service. The web service receives the invocation from the web service provider interface and returns the results of the calling application to the provider interface and SOAP/REST. An environment in which call applications are web services providers and consumers is the SOA: Service Oriented Architecture .


SOA: Service Oriented Architecture

SOA: Service Oriented Architecture functions both as a software development environment and a delivery framework. It provides a mechanism for defining business services and operating models as a information technology infrastructure that can be used to meet enterprise business requirements and to modernize their legacy environments. In a SOA environment, network nodes makes resources available to other network participants as independent services, which participants can access in a standardized way through well-defined service interfaces. SOA is constructed as a shared network of web services linked by distributed intermediaries. Incremental SOA for a mainframe environment needs to be a services network. This means that a software infrastructure must be in place to enable reliable, manageable, secure, and high performance communication between consumers and providers of services. Successful execution of an SOA strategy, combined with the release of the business value contained in legacy systems, can bring significant value and return on investment by 1- leveraging existing software assets to create new applications. 2- Enabling business processes to be modified without rewriting code. 3- Providing interoperability with modern web-based systems, extends the practical life of legacy routines and processes. 4- Lowering the overall informational technology cost structure by sharing business services across multiple applications. 5- Decreasing complexity through a reduction in redundancy across the enterprises. When SOA is done correctly, it supports many-to-one standardization with a loosely coupled interface to many types of user interfaces. An efficient implementation will be built upon an information technology infrastructure and middleware software which has been web-servicized. Web servicization is utilized by IBM mainframe systems to integrate with other platforms and applications.

IBM WebSphere MQ is the industry leading message queuing middleware platform. It is used in a SOA environment to route and transport messages among nodes and manage services in the enterprise. A message queuing infrastructure built upon and extended with WebSphere MQ is scalable and secure. In addition to IBM WebSphere MQ middleware and Rational Development platform there are commercial and open source Service Oriented Architectures that support web services and message-based technologies. The shaded grey cell indicates open source software.

SOA Web Service Support
and Message-based Technologies
Explanation
MSMQ Microsoft Message Queuing Deployed in Microsoft Windows Server operating systems and MS Windows 7. MSMQ ensures reliable delivery by placing messages that fail to reach their intended destination in a queue and then resending them once the destination is reachable. It also supports security and priority based messaging and transactions.
TIBCO Enterprise Message Service Standards-based enterprise messaging platform on a common enterprise backbone for managing real-time flow of information. It is the foundation of TIBCO's event-driven SOA for enabling synchronous and asynchronous system-to-system communications in Java EE, .NET, C, C++, TIBCO Rendezvous, TIBCO SmartSockets, and COBOL and Assembler on the mainframe.
Open Message Queue OpenMQ is an open source message-oriented middleware project that implements the Java Message Service 1.1 API. In addition to supporting the JMS API, OpenMQ provides clustering, a C API, and a full JMX administration API. The JCA Java EE Connector Architecture allows OpenMQ to be used by a Java EE compliant application server. It is the default JMS provider integrated into GlassFish.
Apache ActiveMQ Open source message broker which implements JMS: Java Message Service 1.1. It also can be used from .NET, C/C++ or Delphi or from scripting languages like Perl, Python, PHP and Ruby in conjunction with cross language clients.
JBoss Messaging The JBoss enterprise asynchronous messaging system is the default JMS: Java Message Service provider in the JBoss SOA Platform and JBoss Application Server.

SYS-ED Training Service

SYS-ED staff and CETi Technology Partners have been benchmarking Web 2.0 to RIA based upon REST principles and industry-specific SOA-based middleware frameworks. SYS-ED software specific websites have been organized to demonstrate how an informational website can be changed into an e-commerce website utilizing hybrid combinations of commercial and FOSS: free open source software. The SYS-ED web app and mobile device curriculum teaches and provides guidelines on design techniques, coding methodologies and testing. As part of qualifying a prospective web apps and mobile device programming training assignment, we will review client project specifications and incorporate that information into code snippets, sample programs, and hands-on exercise portion of the a class or training program.

  • Analyzing the underlying integrity of existing applications.
  • Examining the application architecture and code and mapping it to the business and information technology functions.
  • How the assets of applications can be modernized.
  • Testing the integrity of the applications as part of preparing for modernization.
  • Simplify data sharing and information access.
  • Reducing the duplication of information across an enterprise.
  • How information can be made accessible in order to offer new and enhanced customer services.
  • Streamline and modernize internal operations.
  •  Improved data security.
  • Web-enabled interface for end users.

Open Source Software Commercial Development Platforms
 
Mobile Device and Web App Programming Courses
HTML5 JavaScript AJAX
XML Platform jQuery Perl
MySQL Ruby on Rails PHP
C and C++ Languages Java Language Java Utilities and Frameworks
 
 
Industry Standard Courses
Android Application Development GWT: Google Web ToolKit iPhone Application Development
Mobile Applications - J2ME Programming MS Windows Mobile - Managed Application Development Symbian Programming and Development
 
 
Specialized Courses
Apache Web Server Google AppInventor   Google Android Mobile Devices
Java Lightweight Frameworks J2EE and Web Services Standards J2EE Connector Architecture

Technology Driven Training

Technology Driven IT Training

SYS-ED/New York Schedule and Content Delivery Selection

Selection of Delivery Medium
 
Service Oriented Architecture Courses
SOA in the Mainframe Environment CICS Transaction Server: Web Services Rational Application Developer: Web Services Development
MS ASP.NET: Web Services and Database MS C#.NET: XML Web Services MS .NET: Building XML Web Services
Java: XML Web Services Oracle SOA Suite 11g WebLogic Enterprise Web Services Development
 
 
IBM Development Platform
WebSphere Application Server WebSphere MQ Rational Development Platform
 
 
Microsoft .NET
MS ASP.NET MS VB.NET MS C#
 
 
Oracle Development Platform
Oracle Application Server Oracle and Java Oracle WebLogic Platform
   
SYS-ED clients are invited to submit web apps and mobile device programming questions. Our staff and CETi Technology Partners answer, explain, and where applicable reference source documentation. Questions are reviewed and answered on a first-come/first serve-basis. This service is available through our software specific websites. The courseware and training aids used in SYS-ED instructor-led and distance-learning courses is highly respected. The content incorporates an analysis of the program logic and sample programs which have been validated on consultancy projects. We review information in the public domain distributed by software companies, international standards committees, and purveyors of open source software. We perform our own independent analysis of white papers and benchmarks for software updates and new products. Content is interpreted and selectively incorporated into our student hand-outs. Given the intermixing and hybrid implementation of commercial and open source software, reference material which demonstrates and explains will be fundamental to an effective training experience. As part of presenting an instructor-led course at the client location, courseware is organized for subsequent use in a web-based infrastructure and delivery medium.
 

Technology Exchange Websites

SYS-ED's websites compile, organize, and present software specific and established operational categorizations of information technology. They provide a framework for assessing knowledge transfer in a variety of delivery formats: web-based training, classroom instruction, courseware, training aids, learning paths, and validation assessment.
 
www.databasetrainingbysysed.us www.dotnettrainingbysysed.us www.javatrainingbysysed.us
www.mainframetrainingbysysed.us www.msnetworkstrainingbysysed.us www.mqseriestrainingbysysed.us  
www.programmingbysysed.us  www.unixtrainingbysysed.us   www.xmltrainingbysysed.us  

Sources:

Online New York Times, 5 Predictions for APIs in 2011, Shanley Kane Apigee Product Team and GigaOm.

UnLocking the Mainframe: Modernizing Legacy Systems in a Service-Oriented Architecture, June 2008.

A Guide to Deploying Application-enabled Phones in the Enterprise, A.J. Gold Associates White Paper, 2010.

The Importance of an Information Strategy, Philip Howard, A White Paper by Bloor Research, December 2008.