Monday, April 30, 2012

Project Zero Introduction presentation

Presentation conducted @ IBM in 2008

Presentation file
Project Zero Introduction.ppt

presentation content

What is Project Zero

Project Zero is:

A technology incubator project
Open source (community driven commercial development )
Centered around agile development and the next generation of dynamic Web applications
A simple environment for creating, assembling and running applications based on popular Web technologies.

WebSphere sMash

WebSphere sMash
Is the commercial product based on Project Zero.
Consists of only stable modules for production deployment.


WebSphere sMash DE
Developer Edition of WebSphere sMash
It is free for development and limited deployment



Advantages

Quickly build and deliver situational applications that meet your clients’ specific needs
Includes a scripting runtime for Groovy and PHP
APIs optimized for producing REST-style services
Integration mash-ups and rich Web interfaces (DOJO)
Cost effective solutions

Zero / sMash
Zero
Zero unnecessary overhead and complexity
Zero barriers to success
Zero of what you don't need



sMash
Secure || Situational || Simple || Server side  [ Mashups ]

Architecture

Core Concepts
Restful service
Event handlers
Application-centric runtime
Global context
Virtual directories
View rendering

Core Concepts – Restful Service

Representational State Transfer
The Web architecture
Resources
Resources are addressable
Unified Interface (GET, POST, PUT, DELETE)
Client Server
Stateless


Core Concepts – Restful Service

The Project Zero environment is optimized around the REST design model.
Each REST service is implemented by a script (called a handler), scripts live in the directory: /app/resources
Services are accessed using a standard URL convention:
Example: http://localhost:8080/resources/people

Core Concepts – Event handlers

Project Zero is an event-based system
Application developers mainly provide a set of handlers that hook into the well-known system events to achieve application behavior needed




Core Concepts – Application-centric runtime
“Application is the server”

Each WebSphere sMash application is a self contained entity containing all of the components necessary to run the application

Benefits

Removal of error prone deployment task
Application Isolation
Core Concepts – Global context
Event handlers in WebSphere sMash are stateless and cannot maintain a variable state across invocations
Provides access/management of application state
Divided into a set of zones with different data lifecycles

Core Concepts – Virtual Directories
Help you use conventions to reduce
      the amount of configuration in an application
Core Concepts – Virtual Directories - cont
WebSphere sMash uses a dependency management utility called Ivy
Core Concepts – View Rendering
An HTTP response body can be generated using direct APIs
or indirect rendering

Direct API



Indirect rendering
View
JSON
XML
Error

Topics not discussed

Persistence
Security
Integration with other IBM products
Zero resource model
File manipulation
Java Bridge
Others

Demo 1
Installation of WebSphere sMash
Using application builder
   
Development Environment
Command-line interface (CLI)

Provides the basic support for developing and executing
    WebSphere sMash applications

App Builder ( IDE )

App Builder is a Web-based tool for developing WebSphere sMash applications. App Builder is itself a WebSphere sMash application

Eclipse plug-in

The plug-in provide support for creating, resolving, and running WebSphere sMash applications, as well as basic repository management.


Installation

Installation - Application builder
Download Project Zero
Unzip
Be sure you have JAVA_HOME set to the JDK folder
Open zero folder in CMD
Run “appbuilder open” command
Wait until all dependencies have been resolved( downloaded )
Application builder will open a browser window using the following   url: http://localhost:8070/
Installation -  Eclipse Plug-in
Open Help > Software Update
Add the following repository https://www.projectzero.org/zero/silverstone/latest/update/zero.eclipse
Install
Restart Eclipse
Demo 2
RESTful service
    A RESTful service to retrieve information about IBMrs

A Quick Mashup
    A Mashup to search for IBMr presence on the internet
   
References
http://www-01.ibm.com/software/webservers/smash/
http://www.projectzero.org
http://www.projectzero.org/about/zerofaq.php
http://www.projectzero.org/blog/index.php/2008/05/19/my-javaone-slides-online/
http://www.projectzero.org/zero/silverstone/latest/docs/zero.overview.doc/zero.overview.doc/Components.html
http://www.projectzero.org/zero/silverstone/latest/docs/zero.gettingstarted.doc/
http://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.core/VirtualizedDirectories.html
http://www.ibm.com/developerworks/ibm/library/i-zero1/
http://www.ibm.com/developerworks/web/library/wa-pz-intro/
http://www.slideshare.net/jassics/ibm-websphere-s-mash-presentation?src=embed
http://www.slideshare.net/nicholsr/project-zero-php-quebec
http://www.slideshare.net/nicholsr/project-zero-java-one2008
https://twitter.com/ProjectZero
http://www.youtube.com/watch?v=M0KrnlqxUrQ
http://www.youtube.com/watch?v=q_lirVFQqoY



No comments:

Post a Comment