#3100
Dynamic Scripting and Rich Web 2.0 Interfaces with IBM CICS®
Transaction Server


  Rob Nicholson     Senior Technic...
Abstract
CICS has been powering the world's transactions for forty years, continually
   evolving and adopting new technol...
Agenda
• Web 2.0
• Situational Applications
• WebSphere sMash for CICS
• Demonstrations
• ProjectZero.org


              ...
Agenda
• Web 2.0
• Situational Applications
• WebSphere sMash for CICS
• Demonstrations
• ProjectZero.org


              ...
Web 2.0 Definitions
• Google:
  A perceived ongoing transition of the World Wide Web from a
  collection of websites to a ...
Web 2.0 – Philosophy – not just
    Technology
•   An important trend in delivering software applications

•   An enabler ...
Web 2.0 Application Characteristics

•   Rich user experience with minimal page transitions
•   Dynamic content
•   Data a...
Web 2.0 for the Enterprise?
                                           It’s fast becoming a Web 2.0
• Web 2.0 is
         ...
Agenda
• Web 2.0
• Situational Applications
• WebSphere sMash for CICS
• Demonstrations
• ProjectZero.org


              ...
The Application Landscape
               Traditional developers
               building strategic
               applicati...
11
© 2009 IBM Corporation
Scenario: Simple Supply Chain Integration
                         Goal: Integration between a manufacturer and a
        ...
Agenda
• Web 2.0
• Situational Applications
• WebSphere sMash for CICS
• Demonstrations
• ProjectZero.org


              ...
WebSphere sMash
• Speed
                                                             Lightweight platform with
   – Dynami...
Agenda
• Web 2.0
• Situational Applications
• WebSphere sMash for CICS
• Demonstrations
• ProjectZero.org


              ...
Demonstrations

• Build Web 2.0 Interface to existing CICS Assets.
  – Quickly.
• Build Situational Apps based on CICS
  –...
Demonstrations

• sMash with CICS Transaction Gateway.
• sMash with Atom feeds from CICS
• Generating REST resources using...
Demonstrations

• sMash with CICS Transaction Gateway.
• sMash with Atom feeds from CICS
• Generating REST resources using...
sMash with CTG
                 sMash application

                      index.html

Browser                book.json

   ...
Interacting with CICS Programs
  • Build a Java object representation of your
    COMMAREA with JZOS
       – JZOS is incl...
CICS REST Service in PHP
                   Import CTG and COMAREA
                   classes




                    Send...
What is REST ?
• REST is the acronym for „Representational State Transfer“
  – It is the architectural model on which the ...
RESTful Resources
                                      HTTP         URI                Description
RESTful Design
       ...
Demonstration




                                         24
                © 2009 IBM Corporation
Demonstrations

• sMash with CICS Transaction Gateway.
• sMash with Atom feeds from CICS
• Generating REST resources using...
ATOM support in CICS TS 4.1
http://winmvs2c.hursley.ibm.com/atom/cicsfile/filea


       URIMAP
       PATH(atom/*)       ...
sMash with CICS Atom feeds
                  sMash Application

                        .html

                         .j...
Demonstrations

• sMash with CICS Transaction Gateway.
• sMash with Atom feeds from CICS
• Generating REST resources using...
CICS PHP: Interfacing with CICS CA1S
supportPac

                                                        CICS TS V3
      ...
PHP in CICS:
  Interacting with CICS Programs
• PHP in CICS has a Java Bridge
      – Build a Java object representation o...
Summary of CA1S Features
• Handle HTTP requests with PHP code
• Call CICS commarea programs from PHP
• Access DB2 database...
sMash with CA1S
                  sMash Application

                        .html

                         .json        ...
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
                          ...
Resources:
• WebSphere sMash - http://www-01.ibm.com/software/webservers/smash/
   – Project Zero - http://projectzero.org...
36
© 2009 IBM Corporation
We love your Feedback!
• Don’t forget to submit your Impact session and
  speaker feedback! Your feedback is very
  import...
© IBM Corporation 2009. All Rights Reserved.

The workshops, sessions and materials have been prepared by IBM or the sessi...
Upcoming SlideShare
Loading in …5
×

IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces with IBM CICS® Transaction Server

4,233 views

Published on

Session 3100 at IBM IMPACT 2009 Conference.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,233
On SlideShare
0
From Embeds
0
Number of Embeds
294
Actions
Shares
0
Downloads
68
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces with IBM CICS® Transaction Server

  1. 1. #3100 Dynamic Scripting and Rich Web 2.0 Interfaces with IBM CICS® Transaction Server Rob Nicholson Senior Technical Staff Member – WebSphere sMash Fraser Bohm Senior software engineer – CICS Web Service Lead © 2009 IBM Corporation
  2. 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. 2 © 2009 IBM Corporation
  3. 3. Agenda • Web 2.0 • Situational Applications • WebSphere sMash for CICS • Demonstrations • ProjectZero.org 3 © 2009 IBM Corporation
  4. 4. Agenda • Web 2.0 • Situational Applications • WebSphere sMash for CICS • Demonstrations • ProjectZero.org 4 © 2009 IBM Corporation
  5. 5. Web 2.0 Definitions • Google: A perceived ongoing transition of the World Wide Web from a collection of websites to a full-fledged computing platform serving web applications to end user. Ultimately Web 2.0 services are expected to replace desktop computing applications for many purposes. • Tim O’Reilly (the person who coined the term): The business revolution in the computer industry caused by the move to the Internet as platform, and an attempt to understand the rules for success on that new platform. • Tim O’Reilly A true Web 2.0 application is one that gets better the more people use it. 5 © 2009 IBM Corporation
  6. 6. 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 © 2009 IBM Corporation
  7. 7. 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 © 2009 IBM Corporation
  8. 8. Web 2.0 for the Enterprise? It’s fast becoming a Web 2.0 • Web 2.0 is business world, where innovation – Creating new markets never goes out of style. – Lowering competitive barriers According to Gartner – Encouraging creativity to come from anywhere According to Gartner Missing out on the non- Missing out on the non- – Harnessing community created media technology aspects of Web technology aspects of Web – Tapping into the wisdom of the crowds 2.0 means that many 2.0 means that many organizations will also miss organizations will also miss – Enhancing communications and making out on some of the positive out on some of the positive information more impactful business benefits business benefits • 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 8 © 2009 IBM Corporation
  9. 9. Agenda • Web 2.0 • Situational Applications • WebSphere sMash for CICS • Demonstrations • ProjectZero.org 9 © 2009 IBM Corporation
  10. 10. The Application Landscape Traditional developers building strategic applications Developers building simple applications and services to Enterprise solve simple problems applications SCM Usage CRM IT created applications ERP User created applications Sales analysis Dashboards Number of Applications 10 © 2009 IBM Corporation
  11. 11. 11 © 2009 IBM Corporation
  12. 12. Scenario: Simple Supply Chain Integration Goal: Integration between a manufacturer and a small supplier. Provide manufacturer with better view of available inventory; provide supplier with forecast and order information. WebSphere sMash used at supplier to more quickly integrate supplier information with the manufacturer’s ERP system. sMash RTE Large Enterprise sMash ERP Forecast Forecast Custom Orders ERP Orders 12 © 2009 IBM Corporation
  13. 13. Agenda • Web 2.0 • Situational Applications • WebSphere sMash for CICS • Demonstrations • ProjectZero.org 13 © 2009 IBM Corporation
  14. 14. WebSphere sMash • Speed Lightweight platform with – Dynamic scripting languages (PHP and browser-based Groovy – with Java as system language) composition Tools – Core application constructs: templates, pre-built services • Simplicity – Built-in browser-based composition tools: Visual tools (for web page construction or scripting activities into a flow) and scripting tools (server-side dynamic scripting) – REST-style architecture – simple ways to expose and consume services • Agility – Simple deployment (application “is” the server) – Runtime Characteristics (clean, cost effective, short-lived) 14 © 2009 IBM Corporation
  15. 15. Agenda • Web 2.0 • Situational Applications • WebSphere sMash for CICS • Demonstrations • ProjectZero.org 15 © 2009 IBM Corporation
  16. 16. Demonstrations • Build Web 2.0 Interface to existing CICS Assets. – Quickly. • Build Situational Apps based on CICS – Quickly and Cheaply. Speed Simplicity Agility 16 © 2009 IBM Corporation
  17. 17. Demonstrations • sMash with CICS Transaction Gateway. • sMash with Atom feeds from CICS • Generating REST resources using scripting within CICS – PHP SupportPac CA1S 17 © 2009 IBM Corporation
  18. 18. Demonstrations • sMash with CICS Transaction Gateway. • sMash with Atom feeds from CICS • Generating REST resources using scripting within CICS – PHP SupportPac CA1S 18 © 2009 IBM Corporation
  19. 19. sMash with CTG sMash application index.html Browser book.json book.php REST Java Bridge CICS C T ECI LIBRARY Library CTG client G JZOS 19 © 2009 IBM Corporation
  20. 20. 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 Java Class for COMMAREA ADATA COMMAREA PHP Java Bridge COBOL Compiler JZOS ctgclient.jar Source 20 © 2009 IBM Corporation
  21. 21. CICS REST Service in PHP Import CTG and COMAREA classes Send Request to CICS Process Results 21 © 2009 IBM Corporation
  22. 22. What is REST ? • REST is the acronym for „Representational State Transfer“ – It is the architectural model on which the World Wide Web is based • Principles of REST – Resource centric approach – All relevant resources are addressable via URIs – Uniform access via HTTP – GET, POST, PUT, DELETE – Content type negotiation allows retrieving alternative representations from same URI • REST style services – are easy to access from code running in web browsers, any other client or servers • More info: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 22 © 2009 IBM Corporation
  23. 23. RESTful Resources HTTP URI Description RESTful Design Method Collection Model GET /people List members Action can be taken on the entire collection or a specified POST /people Create member member of the collection URI and HTTP method define GET /people/1 Retrieve member the resource request PUT /people/1 Update member DELETE /people/1 Delete member 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: Resource GET PUT POST DELETE Collection list putCollection create deleteCollection Member retrieve update postMember delete 23 © 2009 IBM Corporation
  24. 24. Demonstration 24 © 2009 IBM Corporation
  25. 25. Demonstrations • sMash with CICS Transaction Gateway. • sMash with Atom feeds from CICS • Generating REST resources using scripting within CICS – PHP SupportPac CA1S 25 © 2009 IBM Corporation
  26. 26. ATOM support in CICS TS 4.1 http://winmvs2c.hursley.ibm.com/atom/cicsfile/filea URIMAP PATH(atom/*) ATOMSERVICE USAGE(ATOM) ATOMTYPE(FEED) STATUS(ENABLED) RESOURCENAME(FILEA) RESOURCETYPE(FILE) BINDFILE CONFIGFILE <cics:atomservice type=quot;feed“ XSDBIND file <cics:feed cics:window=quot;window-sizequot;> <cics:resource name=“FILEAquot; type=“FILE“/> ... <atom:feed xmlns:atom=quot;http://www.w3.org/2005/Atomquot;> .... <atom:content cics:resource=quot;cics-resource-namequot; cics:type=quot;cics-resource-typequot;/> </atom:feed> </cics:atomservice> 26 © 2009 IBM Corporation
  27. 27. sMash with CICS Atom feeds sMash Application .html .json CICS Browser REST/ Situational Business Logic ATOM ATOMSERVICE PHP or Groovy or Flow ATOM FILE TSQ Program 27 © 2009 IBM Corporation
  28. 28. Demonstrations • sMash with CICS Transaction Gateway. • sMash with Atom feeds from CICS • Generating REST resources using scripting within CICS – PHP SupportPac CA1S 28 © 2009 IBM Corporation
  29. 29. CICS PHP: Interfacing with CICS CA1S supportPac CICS TS V3 TCPIPSERVICE CSOL HTTP CPIH CWXN Requester Pipeline URIMAP RFPHNDLR matching HFS URIMAP pipeline JVM config PIPELINE PHP Interpreter PHP Scripts PHP Script 29 © 2009 IBM Corporation
  30. 30. 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 PHP Script CICS TS V3 Generate ADATA from compiler (data layout info) 1 3 Generate Java Data object using JZOS Data to 2 COMMAREA 2 1 COBOL JZOS COMMAREA Compiler ADATA Source 4 Load LINK Set data in COMMAREA object Module 3 5 COBOL LINK to business logic 4 Program Data from COMMAREA Get data from COMMAREA object 5 30 © 2009 IBM Corporation
  31. 31. 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 31 © 2009 IBM Corporation
  32. 32. sMash with CA1S sMash Application .html .json CICS Browser CA1S REST/ Situational Business Logic REST PHP PHP or Groovy or Flow ATOM LIBRARY 32 © 2009 IBM Corporation
  33. 33. Agenda • Web 2.0 • Situational Applications • Introducing WebSphere sMash • Demonstrations • ProjectZero.org 33 © 2009 IBM Corporation
  34. 34. WebSphere sMash based on IBM’s Project Zero incubation effort • Project Zero is the development WebSphere sMash and incubation community – Live on the Internet since June 2007 Based on Project Zero • Project Zero represents www.projectzero.org – The people that build and use WebSphere sMash Community Site – The incubation of new technology – The community of 3rd party assets that leverage the WebSphere sMash platform • All released versions are called WebSphere sMash 34 © 2009 IBM Corporation
  35. 35. 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 35 © 2009 IBM Corporation
  36. 36. 36 © 2009 IBM Corporation
  37. 37. We love your Feedback! • Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us, we use it to improve our conference for you next year. • Go to www.impact09guide.com on a smartphone device or a loaner device • From the Impact 2009 Online Conference Guide; – Select Agenda – Navigate to the session you want to give feedback on – Select the session or speaker feedback links – Submit your feedback 37 © 2009 IBM Corporation
  38. 38. © IBM Corporation 2009. All Rights Reserved. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. The following are trademarks of the International Business Machines Corporation in the United States and/or other countries: ibm.com/legal/copytrade.shtmlAIX, CICS, CICSPlex, DataPower, DB2, DB2 Universal Database, i5/OS, IBM, the IBM logo, IMS/ESA, Power Systems, Lotus, OMEGAMON, OS/390, Parallel Sysplex, pureXML, Rational, Redbooks, Sametime, SMART SOA, System z , Tivoli, WebSphere, and z/OS. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at ibm.com/legal/copytrade.shtml. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office Intel and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. 38 © 2009 IBM Corporation

×