SlideShare a Scribd company logo
WebSphere sMash with CICS For Z/OS User Group
Abstract CICS has been powering the world's transactions for forty years, continually evolving and adopting new technologies. Many customers see CICS's adoption of a technology as validation that it's ready at the enterprise level. Through WebSphere sMash, CICS brings seamless integration of rich Web 2.0 interfaces to your core CICS applications. WebSphere sMash is a new agile Web application platform for developing and running modern Web 2.0 applications. It can be used to create RESTful Web services and rich AJAX interfaces using popular Web technologies such as PHP and Groovy. This session explores the integration of CICS and sMash and the role of dynamic scripting in the enterprise world. The session will explain and demonstrate the SupportPac CA1S provides the ability to use PHP scripts in CICS as an option to service enable your applications in a RESTful style. We will also show how easy it is to create situational applications using sMash with CICS via the CICS Transaction Gateway.
Agenda Web 2.0 Situational Applications WebSphere sMash  WebSphere sMash with CICS examples ProjectZero.org
Agenda Web 2.0 Situational Applications WebSphere sMash  WebSphere sMash with CICS examples ProjectZero.org
Web 2.0 – Philosophy – not just Technology  An important trend in delivering software applications An enabler for richer web applications New business models Peer-to-peer user participation New technologies  Interactive filtering, presentation, data entry A combination of core technology components Rich user experience (maps, grids, animation, D&D, etc) Loose-coupling, composite applications via reuse and “mash-ups” Technologies (SOAP, REST, JSON, ATOM, Java, PHP, Dojo, Ruby, Python, Perl, etc)
Web 2.0 Application Characteristics   Rich user experience with minimal page transitions Dynamic content Data asynchronously retrieved  via REST or SOAP service calls Client-side validation User encouraged to add value Simplified user interface Integration of relevant data  from multiple sources
Web 2.0 for the Enterprise? Web 2.0 is Creating new markets Lowering competitive barriers Encouraging creativity to come from anywhere Harnessing community created media Tapping into the wisdom of the crowds Enhancing communications and making information more impactful What does it means for the enterprise? Greater collaboration and innovation across the value chain Increased levels of customer intimacy Simplification of complex IT and business infrastructure Business model flexibility to capitalize on new market opportunities  It’s fast becoming a Web 2.0 business world, where innovation never goes out of style. According to Gartner Missing out on the non-technology aspects of Web 2.0 means that many organizations will also miss out on some of the positive  business  benefits
Agenda Web 2.0 Situational Applications WebSphere sMash  WebSphere sMash with CICS examples ProjectZero.org
The Application Landscape Usage Number of Applications ERP CRM SCM Enterprise applications Traditional developers building strategic applications Developers building simple applications and services to solve simple problems IT created applications User created applications Sales analysis Dashboards
Scenario: Enable Mobile Access  Information delivered :  Formatted to allow direct download into the mobile device Function delivered : Drill into any specific customer situation from the mobile  device. Source:  Centralized Data Base of client support information Goal:  Enable mobile access to IBM’s Customer Support Portal WebSphere sMash used to quickly and simply deliver mobile, on-demand, “need to know” view of client information to busy executives
Agenda Web 2.0 Situational Applications WebSphere sMash  WebSphere sMash with CICS examples ProjectZero.org
Accelerate business and IT alignment with sMash  WebSphere sMash provides an agile web 2.0-based dynamic scripting environment, based on known technologies, for quick delivery of dynamic applications. Speed Simplicity Agility Dynamic scripting languages Templates & pre-built services No-charge, robust browser & Eclipse based tooling Simply create rich Web 2.0 interfaces  Nimble runtime optimized for Agile environment Application “is” the server
Rapidly Develop Applications WebSphere sMash is easy for  developers  to access, learn, and use Speed Dynamic Scripting in PHP and Groovy (Java Language Syntax) Effortless creation of RESTful Services and Data Feeds (RSS, Atom) Repository of pre-built templates, services, libraries, and connectors result in less time coding & configuring.
Dynamic Scripting WebSphere sMash is a dynamic scripting platform Applications created in one of two scripting languages Groovy (for people that prefer Java) PHP (for the 3 Million existing PHP programmers) Java is positioned as the “system” language Mostly used to implement system extensions and application libraries Entire applications can be written in Java, if desired PHP and Java components can directly invoke each other Easy integration and reuse of enterprise assets
Rapidly Expose Data RESTfully Zero resource model enables developers with a simple programmatic and HTTP Data API Application data model Constrained set of APIs encourage a RESTful application architecture Data model that maps well into Atom feeds and JSON formats Robust framework for persistence, validation, and serialization
Quickly Assemble Applications WebSphere sMash system design optimized for “zero” unneeded complexity Simplicity No charge IDE’s provide a simple environment for constructing applications based on dynamic scripting languages.  Visual tooling makes it simple to create complex, rich, dynamic, data-centric Web 2.0 user interfaces based on Ajax.  Programming model and approach to configuration are optimized for keeping simple tasks easy, more complex tasks possible.
sMash Application Builder Browser-Based Development IDE Built as a sMash application Provides full development lifecycle for sMash applications Create, Edit, Test, Debug Provides Visual Editors for Activities and Web Page construction Including a DOJO-enabled page editor Basic Eclipse-based tooling also available if preferred
Agility in Dynamic Scripting  – Groovy / PHP Variety of browser-based visual editing tools provide rapid time to value Dynamic Scripting Editor Visual UI Editor Visual Flow Editor Simplicity in  constructing  web pages (Javascript) Speed in scripting / assemble activities into a flow
An Optimized Runtime WebSphere sMash focuses on deploying applications, not servers Agility Nimble execution Instant On - Application available for service in less than 1 sec Cost effective execution Memory and disk footprint minimal Idle application footprint ~380 KB Running application JVM ~28 MB Clean execution Applications are isolated and secured from each other Graceful recovery, isolation, tolerates “bad” code No state lost on restart
Application Centric Runtime WebSphere sMash is an application-centric runtime You create an application and run it You do not package an application and deploy it to a multi-application server Simple zip, copy, unzip when deploying to new host machine Each application runs in its own process (JVM) Runtime is designed to be short lived WebSphere sMash is a full stack runtime Everything needed to run the application is provided by WebSphere sMash Including the HTTP stack No external proxy or web server is required
Modular Architecture makes for more agile, more simply managed environment WebSphere sMash applications are based on a very small core 5.4 MBytes (includes Groovy). PHP adds additional 17 Mbytes  Core provides all of the framework and runtime support, including HTTP transport Additional features provided in downloadable modules Applications declare a dependency on desired features (using Ivy) A package management system manages your dependencies, including: The ability to share dependencies on a machine The ability to demand load missing dependencies from the network The ability to manage updates to dependencies that you are using
WebSphere sMash Activities Developers visually “mash-up” services and feeds Assemble-style  Development Visually or programmatically combine existing feeds and REST services that enrich, sort, and filter data in a pipeline through “wiring” Configure templates to alter pipeline routes, log events along the pipeline Numerous built-in activities, including Get Feed, Call Service, Aggregate, Sort, Transform, Filter, Send Mail, XSLT, Conditionals, Loops
Agenda Web 2.0 Situational Applications WebSphere sMash  WebSphere sMash with CICS examples ProjectZero.org
Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS  Generating REST resources using scripting  within  CICS – PHP SupportPac CA1S
Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS  Generating REST resources using scripting  within  CICS – PHP SupportPac CA1S
sMash with CICS Transaction Gateway sMash application index.html  book.php  Library CTG CICS LIBRARY JZOS ECI Browser REST Java Bridge book.json  CTG client
REST Primer. RESTful Design Collection Model Action can be taken on the  entire collection or a specified  member of the  collection URI and HTTP method define  the resource request REST and WebSphere sMash WebSphere sMash supports  URI and HTTP method define the collection resource model Each script in the <apphome>/app/resources directory represents a resource handler URL convention for interacting with resources based on  /resources/<collectionName>[/<memberID>[/<pathInfo>]] where the actions are defined as follows: HTTP Method URI Description GET /people List members POST /people Create member GET /people/1 Retrieve member PUT /people/1 Update member DELETE /people/1 Delete member Resource GET PUT POST DELETE Collection list putCollection create deleteCollection Member retrieve update postMember delete
Interacting with CICS Programs Build a Java object representation of your COMMAREA with JZOS JZOS is included in the IBM JDK for zOS Use the CTG Java Client Libraries From Groovy From PHP via the Java Bridge ADATA Java Class for COMMAREA ctgclient.jar PHP Java Bridge Compiler JZOS COBOL Source COMMAREA
CICS REST Service in PHP Import CTG and COMAREA classes Send Request to CICS Process Results
Example
Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS  Generating REST resources using scripting  within  CICS – PHP SupportPac CA1S
ATOM support in CICS TS 4.1 http://winmvs2c.hursley.ibm.com/atom/cicsfile/filea URIMAP PATH(atom/*) ‏ USAGE(ATOM) ‏ ATOMSERVICE ATOMTYPE(FEED) ‏ STATUS(ENABLED) ‏ RESOURCENAME(FILEA) ‏ RESOURCETYPE(FILE) ‏ BINDFILE CONFIGFILE XSDBIND file <cics:atomservice type=&quot;feed“ <cics:feed cics:window=&quot;window-size&quot;> <cics:resource name=“FILEA&quot; type=“FILE“/> . . .  <atom:feed xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;> . . . . <atom:content cics:resource=&quot;cics-resource-name&quot; cics:type=&quot;cics-resource-type&quot;/> </atom:feed> </cics:atomservice>
sMash with CICS Atom feeds sMash Application .html  Situational Business Logic  PHP or Groovy or Flow CICS FILE Browser REST .json  ATOMSERVICE ATOM TSQ Program
Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS  Generating REST resources using scripting  within  CICS – PHP SupportPac CA1S
CICS PHP: Interfacing with CICS CA1S supportPac HFS pipeline config URIMAP CICS TS V3 TCPIPSERVICE CPIH CWXN Requester URIMAP matching CSOL Pipeline RFPHNDLR HTTP JVM PHP Interpreter PIPELINE PHP Scripts PHP Script
PHP in CICS: Interacting with CICS Programs PHP in CICS has a Java Bridge Build a Java object representation of your COMMAREA with JZOS LINK to your business program using the provided API LINK, Syncpoint, and Rollback supported CICS TS V3 PHP Script COBOL Source COBOL Program COMMAREA JZOS ADATA Load Module LINK Data to COMMAREA Data from COMMAREA Compiler 1 2 3 4 5 2 1 3 4 5 Generate ADATA from compiler (data layout info) Generate Java Data object using JZOS Set data in COMMAREA object LINK to business logic Get data from COMMAREA object
Summary of CA1S Features Handle HTTP requests with PHP code Call CICS commarea programs from PHP Access DB2 databases from PHP Manage units of work from PHP (commit/rollback) Use event handlers to easily create RESTful Web Services Debug PHP scripts with Eclipse PDT Access any Java classes from PHP code using the PHP/Java Bridge
sMash with CA1S CICS LIBRARY CA1S  PHP sMash Application .html  Situational Business Logic  PHP or Groovy or Flow Browser REST .json  REST
Agenda Web 2.0 Situational Applications Introducing WebSphere sMash Demonstrations ProjectZero.org
WebSphere sMash based on IBM’s Project Zero incubation effort Project Zero is the development and incubation community Live on the Internet since June 2007 Project Zero represents   The people that build and use WebSphere sMash  The incubation of new technology The community of 3 rd  party assets that leverage the WebSphere sMash platform All released versions are called WebSphere sMash www.projectzero.org Community Site WebSphere sMash Based on Project Zero
Resources: WebSphere sMash -  http://www-01.ibm.com/software/webservers/smash/ Project Zero  -  http://projectzero.org CA1S – PHP Support Pac More info about CA1S:  http://tinyurl.com/ phpOnCics Video of CA1S:  http://tinyurl.com/ phpOnCicsVideo CA8k – Atom Support Pac  http://www-01.ibm.com/support/docview.wss?uid=swg24018619 JZOS -  http://www-03.ibm.com/servers/eserver/zseries/software/java/products/jzos/overview.html ATOM -  http://rollerweblogger.org/downloads/presentations/TriXML2006-BeyondBlogging.pdf REST -  http://doc.opengarden.org/REST/REST_for_the_Rest_of_Us CICS Supportpac CA8K -  http://www-01.ibm.com/support/docview.wss?uid=swg24018619
 

More Related Content

PDF
Decomposing applications for deployability and scalability #springone2gx #s12gx
PDF
Differentiating between web APIs, SOA, & integration …and why it matters
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PDF
MuCon 2015 - Microservices in Integration Architecture
PDF
Rest api webinar(3)
PDF
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
PDF
JavaOne 2015 Keynote Presentation
PDF
Sencha Web Applications Come of Age
Decomposing applications for deployability and scalability #springone2gx #s12gx
Differentiating between web APIs, SOA, & integration …and why it matters
Microservices: Where do they fit within a rapidly evolving integration archit...
MuCon 2015 - Microservices in Integration Architecture
Rest api webinar(3)
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
JavaOne 2015 Keynote Presentation
Sencha Web Applications Come of Age

What's hot (20)

PDF
Placement of BPM runtime components in an SOA environment
PDF
Microservices in the Enterprise: A Research Study and Reference Architecture
PPT
Web 2 0 Fullfeatures
PPT
Web 2 0 Fullfeatures
PDF
List of Top Local Databases used for react native app developement in 2022
PDF
Microservices for Enterprises
PPTX
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
PDF
IBM WebSphere Portal References Education
PPTX
REST and Microservices
PPTX
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
PDF
An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Ser...
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PPT
ArcReady - Architecting For The Cloud
PPTX
For loop summit - cheating the developer experience
PPTX
The Power of Drupal and Alfresco Together
PPTX
Micro services Architecture
DOC
Zedrick girish p_tryambakee 5102589493
PDF
Full lifecycle of a microservice
PPTX
WSO2 Roadmap and Vision
ODP
ESB vs API management
Placement of BPM runtime components in an SOA environment
Microservices in the Enterprise: A Research Study and Reference Architecture
Web 2 0 Fullfeatures
Web 2 0 Fullfeatures
List of Top Local Databases used for react native app developement in 2022
Microservices for Enterprises
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
IBM WebSphere Portal References Education
REST and Microservices
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Ser...
Software Architectures, Week 3 - Microservice-based Architectures
ArcReady - Architecting For The Cloud
For loop summit - cheating the developer experience
The Power of Drupal and Alfresco Together
Micro services Architecture
Zedrick girish p_tryambakee 5102589493
Full lifecycle of a microservice
WSO2 Roadmap and Vision
ESB vs API management
Ad

Viewers also liked (7)

PDF
Samind brain power_v2a
PPT
LOST Connections
PDF
WAS85 whats new_functionality_performance
PDF
PPT
Chris Vanderweylan
PPT
Morpheum
PDF
IT-Projektmanagement, Andreas Friedli
Samind brain power_v2a
LOST Connections
WAS85 whats new_functionality_performance
Chris Vanderweylan
Morpheum
IT-Projektmanagement, Andreas Friedli
Ad

Similar to sMash_for_zOS-users (20)

PPT
WebSphere sMash June Product Review
PPT
Mixing Java and PHP with Sugar and WebSphere
PDF
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
PDF
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
PDF
IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...
PPT
sMash at May NYPHP UG
PPT
An Introduction to Websphere sMash for PHP Programmers
PPT
Enterprise Software Architecture
PDF
Mashing up the Lotus Portfolio
PPT
Simplified Web2.0 application development with Project Zero
PPT
Web 2 0 Tools
PPT
Training - Managing .NET/J2EE Projects
PDF
PLAT-3 CMIS — What’s coming next?
PDF
PLAT-2 CMIS - What’s coming next?
PPTX
Websphere Application Server: Much more than Open Source
KEY
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
PPT
CTS Conference Web 2.0 Tutorial Part 1
PDF
What's New in WebSphere Application Server
PDF
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
PDF
Designing Enterprise IT Systems with REST - QCon San Francisco 2008
WebSphere sMash June Product Review
Mixing Java and PHP with Sugar and WebSphere
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...
sMash at May NYPHP UG
An Introduction to Websphere sMash for PHP Programmers
Enterprise Software Architecture
Mashing up the Lotus Portfolio
Simplified Web2.0 application development with Project Zero
Web 2 0 Tools
Training - Managing .NET/J2EE Projects
PLAT-3 CMIS — What’s coming next?
PLAT-2 CMIS - What’s coming next?
Websphere Application Server: Much more than Open Source
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
CTS Conference Web 2.0 Tutorial Part 1
What's New in WebSphere Application Server
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Designing Enterprise IT Systems with REST - QCon San Francisco 2008

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
A Presentation on Artificial Intelligence
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Dropbox Q2 2025 Financial Results & Investor Presentation
A Presentation on Artificial Intelligence
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology

sMash_for_zOS-users

  • 1. WebSphere sMash with CICS For Z/OS User Group
  • 2. Abstract CICS has been powering the world's transactions for forty years, continually evolving and adopting new technologies. Many customers see CICS's adoption of a technology as validation that it's ready at the enterprise level. Through WebSphere sMash, CICS brings seamless integration of rich Web 2.0 interfaces to your core CICS applications. WebSphere sMash is a new agile Web application platform for developing and running modern Web 2.0 applications. It can be used to create RESTful Web services and rich AJAX interfaces using popular Web technologies such as PHP and Groovy. This session explores the integration of CICS and sMash and the role of dynamic scripting in the enterprise world. The session will explain and demonstrate the SupportPac CA1S provides the ability to use PHP scripts in CICS as an option to service enable your applications in a RESTful style. We will also show how easy it is to create situational applications using sMash with CICS via the CICS Transaction Gateway.
  • 3. Agenda Web 2.0 Situational Applications WebSphere sMash WebSphere sMash with CICS examples ProjectZero.org
  • 4. Agenda Web 2.0 Situational Applications WebSphere sMash WebSphere sMash with CICS examples ProjectZero.org
  • 5. Web 2.0 – Philosophy – not just Technology An important trend in delivering software applications An enabler for richer web applications New business models Peer-to-peer user participation New technologies Interactive filtering, presentation, data entry A combination of core technology components Rich user experience (maps, grids, animation, D&D, etc) Loose-coupling, composite applications via reuse and “mash-ups” Technologies (SOAP, REST, JSON, ATOM, Java, PHP, Dojo, Ruby, Python, Perl, etc)
  • 6. Web 2.0 Application Characteristics Rich user experience with minimal page transitions Dynamic content Data asynchronously retrieved via REST or SOAP service calls Client-side validation User encouraged to add value Simplified user interface Integration of relevant data from multiple sources
  • 7. Web 2.0 for the Enterprise? Web 2.0 is Creating new markets Lowering competitive barriers Encouraging creativity to come from anywhere Harnessing community created media Tapping into the wisdom of the crowds Enhancing communications and making information more impactful What does it means for the enterprise? Greater collaboration and innovation across the value chain Increased levels of customer intimacy Simplification of complex IT and business infrastructure Business model flexibility to capitalize on new market opportunities It’s fast becoming a Web 2.0 business world, where innovation never goes out of style. According to Gartner Missing out on the non-technology aspects of Web 2.0 means that many organizations will also miss out on some of the positive business benefits
  • 8. Agenda Web 2.0 Situational Applications WebSphere sMash WebSphere sMash with CICS examples ProjectZero.org
  • 9. The Application Landscape Usage Number of Applications ERP CRM SCM Enterprise applications Traditional developers building strategic applications Developers building simple applications and services to solve simple problems IT created applications User created applications Sales analysis Dashboards
  • 10. Scenario: Enable Mobile Access Information delivered : Formatted to allow direct download into the mobile device Function delivered : Drill into any specific customer situation from the mobile device. Source: Centralized Data Base of client support information Goal: Enable mobile access to IBM’s Customer Support Portal WebSphere sMash used to quickly and simply deliver mobile, on-demand, “need to know” view of client information to busy executives
  • 11. Agenda Web 2.0 Situational Applications WebSphere sMash WebSphere sMash with CICS examples ProjectZero.org
  • 12. Accelerate business and IT alignment with sMash WebSphere sMash provides an agile web 2.0-based dynamic scripting environment, based on known technologies, for quick delivery of dynamic applications. Speed Simplicity Agility Dynamic scripting languages Templates & pre-built services No-charge, robust browser & Eclipse based tooling Simply create rich Web 2.0 interfaces Nimble runtime optimized for Agile environment Application “is” the server
  • 13. Rapidly Develop Applications WebSphere sMash is easy for developers to access, learn, and use Speed Dynamic Scripting in PHP and Groovy (Java Language Syntax) Effortless creation of RESTful Services and Data Feeds (RSS, Atom) Repository of pre-built templates, services, libraries, and connectors result in less time coding & configuring.
  • 14. Dynamic Scripting WebSphere sMash is a dynamic scripting platform Applications created in one of two scripting languages Groovy (for people that prefer Java) PHP (for the 3 Million existing PHP programmers) Java is positioned as the “system” language Mostly used to implement system extensions and application libraries Entire applications can be written in Java, if desired PHP and Java components can directly invoke each other Easy integration and reuse of enterprise assets
  • 15. Rapidly Expose Data RESTfully Zero resource model enables developers with a simple programmatic and HTTP Data API Application data model Constrained set of APIs encourage a RESTful application architecture Data model that maps well into Atom feeds and JSON formats Robust framework for persistence, validation, and serialization
  • 16. Quickly Assemble Applications WebSphere sMash system design optimized for “zero” unneeded complexity Simplicity No charge IDE’s provide a simple environment for constructing applications based on dynamic scripting languages. Visual tooling makes it simple to create complex, rich, dynamic, data-centric Web 2.0 user interfaces based on Ajax. Programming model and approach to configuration are optimized for keeping simple tasks easy, more complex tasks possible.
  • 17. sMash Application Builder Browser-Based Development IDE Built as a sMash application Provides full development lifecycle for sMash applications Create, Edit, Test, Debug Provides Visual Editors for Activities and Web Page construction Including a DOJO-enabled page editor Basic Eclipse-based tooling also available if preferred
  • 18. Agility in Dynamic Scripting – Groovy / PHP Variety of browser-based visual editing tools provide rapid time to value Dynamic Scripting Editor Visual UI Editor Visual Flow Editor Simplicity in constructing web pages (Javascript) Speed in scripting / assemble activities into a flow
  • 19. An Optimized Runtime WebSphere sMash focuses on deploying applications, not servers Agility Nimble execution Instant On - Application available for service in less than 1 sec Cost effective execution Memory and disk footprint minimal Idle application footprint ~380 KB Running application JVM ~28 MB Clean execution Applications are isolated and secured from each other Graceful recovery, isolation, tolerates “bad” code No state lost on restart
  • 20. Application Centric Runtime WebSphere sMash is an application-centric runtime You create an application and run it You do not package an application and deploy it to a multi-application server Simple zip, copy, unzip when deploying to new host machine Each application runs in its own process (JVM) Runtime is designed to be short lived WebSphere sMash is a full stack runtime Everything needed to run the application is provided by WebSphere sMash Including the HTTP stack No external proxy or web server is required
  • 21. Modular Architecture makes for more agile, more simply managed environment WebSphere sMash applications are based on a very small core 5.4 MBytes (includes Groovy). PHP adds additional 17 Mbytes Core provides all of the framework and runtime support, including HTTP transport Additional features provided in downloadable modules Applications declare a dependency on desired features (using Ivy) A package management system manages your dependencies, including: The ability to share dependencies on a machine The ability to demand load missing dependencies from the network The ability to manage updates to dependencies that you are using
  • 22. WebSphere sMash Activities Developers visually “mash-up” services and feeds Assemble-style Development Visually or programmatically combine existing feeds and REST services that enrich, sort, and filter data in a pipeline through “wiring” Configure templates to alter pipeline routes, log events along the pipeline Numerous built-in activities, including Get Feed, Call Service, Aggregate, Sort, Transform, Filter, Send Mail, XSLT, Conditionals, Loops
  • 23. Agenda Web 2.0 Situational Applications WebSphere sMash WebSphere sMash with CICS examples ProjectZero.org
  • 24. Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS Generating REST resources using scripting within CICS – PHP SupportPac CA1S
  • 25. Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS Generating REST resources using scripting within CICS – PHP SupportPac CA1S
  • 26. sMash with CICS Transaction Gateway sMash application index.html book.php Library CTG CICS LIBRARY JZOS ECI Browser REST Java Bridge book.json CTG client
  • 27. REST Primer. RESTful Design Collection Model Action can be taken on the entire collection or a specified member of the collection URI and HTTP method define the resource request REST and WebSphere sMash WebSphere sMash supports URI and HTTP method define the collection resource model Each script in the <apphome>/app/resources directory represents a resource handler URL convention for interacting with resources based on /resources/<collectionName>[/<memberID>[/<pathInfo>]] where the actions are defined as follows: HTTP Method URI Description GET /people List members POST /people Create member GET /people/1 Retrieve member PUT /people/1 Update member DELETE /people/1 Delete member Resource GET PUT POST DELETE Collection list putCollection create deleteCollection Member retrieve update postMember delete
  • 28. Interacting with CICS Programs Build a Java object representation of your COMMAREA with JZOS JZOS is included in the IBM JDK for zOS Use the CTG Java Client Libraries From Groovy From PHP via the Java Bridge ADATA Java Class for COMMAREA ctgclient.jar PHP Java Bridge Compiler JZOS COBOL Source COMMAREA
  • 29. CICS REST Service in PHP Import CTG and COMAREA classes Send Request to CICS Process Results
  • 31. Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS Generating REST resources using scripting within CICS – PHP SupportPac CA1S
  • 32. ATOM support in CICS TS 4.1 http://winmvs2c.hursley.ibm.com/atom/cicsfile/filea URIMAP PATH(atom/*) ‏ USAGE(ATOM) ‏ ATOMSERVICE ATOMTYPE(FEED) ‏ STATUS(ENABLED) ‏ RESOURCENAME(FILEA) ‏ RESOURCETYPE(FILE) ‏ BINDFILE CONFIGFILE XSDBIND file <cics:atomservice type=&quot;feed“ <cics:feed cics:window=&quot;window-size&quot;> <cics:resource name=“FILEA&quot; type=“FILE“/> . . . <atom:feed xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;> . . . . <atom:content cics:resource=&quot;cics-resource-name&quot; cics:type=&quot;cics-resource-type&quot;/> </atom:feed> </cics:atomservice>
  • 33. sMash with CICS Atom feeds sMash Application .html Situational Business Logic PHP or Groovy or Flow CICS FILE Browser REST .json ATOMSERVICE ATOM TSQ Program
  • 34. Examples sMash with CICS Transaction Gateway. sMash with Atom feeds from CICS Generating REST resources using scripting within CICS – PHP SupportPac CA1S
  • 35. CICS PHP: Interfacing with CICS CA1S supportPac HFS pipeline config URIMAP CICS TS V3 TCPIPSERVICE CPIH CWXN Requester URIMAP matching CSOL Pipeline RFPHNDLR HTTP JVM PHP Interpreter PIPELINE PHP Scripts PHP Script
  • 36. PHP in CICS: Interacting with CICS Programs PHP in CICS has a Java Bridge Build a Java object representation of your COMMAREA with JZOS LINK to your business program using the provided API LINK, Syncpoint, and Rollback supported CICS TS V3 PHP Script COBOL Source COBOL Program COMMAREA JZOS ADATA Load Module LINK Data to COMMAREA Data from COMMAREA Compiler 1 2 3 4 5 2 1 3 4 5 Generate ADATA from compiler (data layout info) Generate Java Data object using JZOS Set data in COMMAREA object LINK to business logic Get data from COMMAREA object
  • 37. Summary of CA1S Features Handle HTTP requests with PHP code Call CICS commarea programs from PHP Access DB2 databases from PHP Manage units of work from PHP (commit/rollback) Use event handlers to easily create RESTful Web Services Debug PHP scripts with Eclipse PDT Access any Java classes from PHP code using the PHP/Java Bridge
  • 38. sMash with CA1S CICS LIBRARY CA1S PHP sMash Application .html Situational Business Logic PHP or Groovy or Flow Browser REST .json REST
  • 39. Agenda Web 2.0 Situational Applications Introducing WebSphere sMash Demonstrations ProjectZero.org
  • 40. WebSphere sMash based on IBM’s Project Zero incubation effort Project Zero is the development and incubation community Live on the Internet since June 2007 Project Zero represents The people that build and use WebSphere sMash The incubation of new technology The community of 3 rd party assets that leverage the WebSphere sMash platform All released versions are called WebSphere sMash www.projectzero.org Community Site WebSphere sMash Based on Project Zero
  • 41. Resources: WebSphere sMash - http://www-01.ibm.com/software/webservers/smash/ Project Zero - http://projectzero.org CA1S – PHP Support Pac More info about CA1S: http://tinyurl.com/ phpOnCics Video of CA1S: http://tinyurl.com/ phpOnCicsVideo CA8k – Atom Support Pac http://www-01.ibm.com/support/docview.wss?uid=swg24018619 JZOS - http://www-03.ibm.com/servers/eserver/zseries/software/java/products/jzos/overview.html ATOM - http://rollerweblogger.org/downloads/presentations/TriXML2006-BeyondBlogging.pdf REST - http://doc.opengarden.org/REST/REST_for_the_Rest_of_Us CICS Supportpac CA8K - http://www-01.ibm.com/support/docview.wss?uid=swg24018619
  • 42.  

Editor's Notes

  • #10: This image is of the “long tail” a popular concept in the Web 2.0 space… There is a class of business applications across small, medium and large businesses that are not well supported today. We refer to this type of application as the long tail of business applications. In contrast to the more ubiquitous, three lettered acronym applications (e.g. CRM, SCM, ERP), the applications found in the long tail are focused on more situational business needs and play a more supporting vs. primary role in the overall mission. Solutions to these situational business needs evolve as the needs of the situation change. Examples of these applications include applications for sales analysis, business dashboards, contact management, reporting, trade show mgmt, marketing resource mgmt, collateral distribution, and help desk functions. The value of these applications is often difficult to measure using traditional business metrics. These are applications built to address an immediate rather than long-term, strategic need and as such, are often relegated to lower skilled programmers (and CTOs who like to stay current) who follow a more casual, sometimes “ad hoc” approach to development. Frequently there is little or no budget for these applications and development takes place under the radar of central IT management by small teams working under an informal, unstructured approach. Little or no focus is given to scalability, maintainability, availability, etc. although many of these applications become mission-critical over time. Within the enterprise context these applications are frequently hosted in “lighter weight” environments rather than the production environment where mission critical applications are hosted. In an IBM MI study (Oct, 2005) Just over half of all respondents believed that the ad hoc application created as part of last ad hoc project profiled is now mission-critical to their company.
  • #11: IBM executives are frequently meeting with customers either via phone or in person. Enabling them to quickly check for status of a specific customer and research evolving ‘situations’ is a critical element of managing customer satisfaction. The Customer Client Support Portal application was built to deliver detailed information to management with a ‘need to know’. However, management often finds themselves remote from a workstation or laptop. Access to CCSP through a mobile device was made available to deliver ‘on-demand’ information to executives on the move. Summary information is now available to mobile devices such as the Blackberry. The executives also have the ability to drill into specific situation details… This ‘situational’ application was built with an investment of less than 60 hours and less than 2000 lines of code. It accesses the primary CCSP database, provides more than 18 different formats for information and reuses services provided as part of the backend portal system. Goals of CCSP Mobile: Ease of use, simple to maintain &amp; update, improve customer satisfaction. Reuse same services as main Portal application. Time to value: Written in &lt; 60 hours. Consisted of &lt; 2000 lines of code.
  • #13: Key points: This slide introduces 3 WebSphere sMash differentiating themes which are used throughout the rest of the presentation – speed, simplicity and agility
  • #14: Key points: sMash does not required a “PhD in JEE” to rapidly deliver robust applications Easy migration for developers already familiar with PHP, and Groovy is simple to pick up for those familiar with Java/JEE Tooling creates REST services and ATOM feeds by default
  • #15: Key points: Enforcement of previous point – sMash is about dynamic scripting vs. programming. Java is only there for extensibility / interoperability Deeper dive into PHP support, PHP / Java / Groovy integration, in later section.
  • #16: Key points: REST is a key Web 2.0 enabler, we’ll have a lot of discussion around REST in this briefing. Deeper dive in second section. ZRM is another key differentiator for the sMash platform and facilitates the development of data access applications in minutes Screenshots show an overview of a JSON (JavaScript Object Notation) data model, sample client scripts using ZRM API to access data and URLs for REST access
  • #17: Key points: Fits into your programming style Many “simplicity” topics in sMash but we’ll focus on tooling first. Easy to use and feature-rich visual browser-based IDE (as well as Eclipse and command-line support) Screenshot shows the Flow Editor in the Application Builder – aggregating feeds and REST services to generate a consolidated report in MS Excel Event driven programming model similar to traditional UI programming. Configuration based on adherence to conventions and simple configuration file. More on programming model and configuration strategy in deep dive section.
  • #18: Key points: Application Builder is a feature-rich Web development environment which makes sMash application development even simpler Includes extensive wizards and editors not available on Eclipse and command-line interfaces Application Builder is a significant differentiator for the IBM solution Screenshot is from the JSON (JavaScript Object Notation) structure editor
  • #19: Key points: Demonstrates the breadth of the editors included in the Application Builder Visual UI Editor is suitable for simple pages today – more sophisticated and highly dynamic sites will still require AJAX scripting Flow editor allows ATOM feeds and REST services to be visually wired together and further enriched with script invocations. Visual flow is persisted in XML using a simplified BPEL syntax
  • #20: Key points: “ Lightweight” but robust JSE-based runtime means less time waiting and more time developing Screenshot shows Application Builder “My Applications” page – where individual applications can be started/stopped
  • #21: Key points: The simplified runtime model provides many benefits, but also requires a mental shift for existing JEE developers / administrators Full notes: One of the simplifications of WebSphere sMash is the notion that each application is a standalone runtime. Rather than loading runtime components &apos;just in case&apos; the application might use them, the application runtime contains just the set of features that a single application is using and is thus small and efficient. There is no deployment process for WebSphere sMash applications. You simply have a set of files that represent your application and a set of dependencies on extension modules. You can copy the application to a machine, resolve the dependencies and start the application. Multiple applications can, of course, run simultaneously but they run independently providing isolation, simplifying versioning issues, and enabling easier management.
  • #22: Key points: sMash defines a new level of consumability for IBM products. Gone are multiple DVDs of installation sources, replaced with a 5Mb core download which then pulls dependencies when required Packaging is done through Apache Ivy – a configuration-driven dependency manager extensively used by Java teams The organization of libraries into modules, and the associated dependency management scheme and remote repositories, greatly simplify the whole area of locating and resolving dependencies. Full notes: WebSphere sMash is designed so that application are based on a very small core that is approximately 5.4M that includes the Groovy support. The core provides all of the framework and runtime support including the HTTP runtime stack. To add to the core you may download modules by declaring dependencies in Ivy and then the package management system manages those dependencies allowing you to share dependencies, demand load dependencies and manage updates to the dependencies.
  • #23: Key points: Screenshot is of a sMash Flow included in the Travel Request sample available from the sMash repository, and shows a simple approval process implementation
  • #28: REST is based on a collection model. The action performed by the RESTful service is based on the combination of the URI and the HTTP methods. The table summaries the results of the combinations. In WebSphere sMash, the action is defined in the following format /resources/&lt;collectionName&gt;[/&lt;memberID&gt;[/&lt;pathInfo&gt;]] Where /&lt;collectionName&gt; identifies the resource that is the target of the action and the handler for that resource is by convention in the &lt;apphome&gt;/app/resources directory. Based on the type of resource, collection or collection member,
  • #43: Change and Release Management for Software Development