190 likes | 348 Views
S olon S olutions Web 2.0 access to CICS. Jim Hollingsworth. Agenda. What is Web 2.0 ? Why JavaScript framework ? Why jQuery ? CICS applications SOAP based web services SolonRunner Web 2.0 and RESTful web services What about security ? Tooling 3270 bridge SolonBridge
E N D
Solon SolutionsWeb 2.0 access to CICS Jim Hollingsworth
Agenda • What is Web 2.0 ? • Why JavaScript framework ? • Why jQuery ? • CICS applications • SOAP based web services • SolonRunner Web 2.0 and RESTful web services • What about security ? • Tooling • 3270 bridge • SolonBridge • Performance monitoring
What is Web 2.0 ? • Web 2.0, a phrase coined by O'Reilly Media in 2003 and popularized by the first Web 2.0 conference in 2004 • Evolutionof web-based communities and services - such as social-networking sites (Facebook, Twitter, YouTube), wikis, blogs, RSS feeds • An evolution – more about style than new base technologies • a set of enabling technologies • Ajax - Asynchronous JavaScript and XML • RESTful web services – web resources map to URI’s • JavaScript frameworks (jQuery, Dojo, etc) - easy cross browser development • RSS - Really Simple Syndication • Atom – an improved alternative to RSS • CSS – Cascading Style Sheets
Why a JavaScript framework ? • Faster, less expensive, development: effort shifted from Java developers to Web page designers (Web designer $33k – $58K, Java developer $53k – $94k) • Open source library reduces maintenance issues • Ajax support for dynamic content • Widgets reduce coding (date picker, progress bar, etc.) • Popular frameworks (jQuery, Dojo, Prototype,Yahoo UI, MooTools)
Why jQuery? • Fastest growing JavaScript framework • 95% of web developers use JavaScript framework libraries • 60% of these use jQuery - http://ajaxian.com/archives/state-of-the-web-2008 • Users (Google, Dell, Bank of America, NBC, CBS, MLB, Netflix, ….) • Open source licensed under GNU Public License and MIT License • User experience • Solves cross browser rendering issues • Dynamic content with superb Ajax support • Simplification of common JavaScript tasks – less coding • Performance • Compact download - 19k compressed, cached by browser • jQuery 1.3 selector engine performance boost for traversing DOM
CICS applications CICS TS V1.1.1 Recv map BMS 3270 application 3270 3270 data stream Send map CTG commarea application browser App server JSP/ECI • 3270 • commarea
Traditional SOAP based web services Web browser Web server CICS VSE SOAP engine HTTP server application Server/ Client proxy commarea application • Web browser • HTML page varies depending on content • Therefore, entire HTML page is loaded for each request • Web server • Serves HTML page with content produced dynamically in application server • Application server • Unique client proxy for each Web service • Submits/receives SOAP Web service • Formats response into HTML • CICS • SOAP processing overhead • WS-Interoperability (SOAP), WS-Security, WS-AtomicTransaction (2-phase commit) Proxy code XML Parser/ generator TSQ
SolonRunner Web 2.0 and RESTful web services CICS Web browser Web server static page SolonRunner RESTful server XML parser proxy server HTTP server commarea application Ajax JavaScript Ajax XML Request Commarea formatter • Web browser • HTML static page containing dynamic content Web 2.0 technologies loaded once • Uses Ajax technology in JavaScript toolkits for dynamic content • Ajax XMLHttpRequest (XHR) direct to CICS (intranet) or through proxy server (internet) • Web server • Serves static HTML page • Proxy server filters (passes) XMLHttpRequest to CICS • CICS • SolonRunner Web 2.0 RESTful server • URI structure: /solonrunner/{transID}/{commarea formatter}/{applpgm}/?query string • Low overhead: no (SOAP processing, TSQ I/O, application server (client proxy))
What about security ? DMZ CICS Web browser Web server static page SolonRunner RESTful server XML parser proxy server HTTP server commarea application Ajax JavaScript • Intranet • CICS: Basic authentication (user ID and Password are base64 encoded) • Internet • Reverse proxy server (hides CICS behind firewall) • Authentication • CICS: Basic authentication and SSL (server certificate only) or • CICS: SSL (server and client certificate) Ajax XML Request Commarea formatter
Web browser Web server CICS SolonRunner Tooling static page SolonRunner RESTful server XML parser proxy server HTTP server commarea application Ajax JavaScript Ajax XMLHttpRequest Commarea formatter • Mainframe • Generate commarea formatter • Web page • generate jQuery boilerplate • generate application specific jQuery Generate web Generate CICS Web browser Tooling session CICS SolonRunner tooling
What is the SolonBridge? Web browser Web server CICS static page SolonRunner RESTful server XML parser HTTP server proxy server SolonBridge 3270 bridge Ajax JavaScript Ajax XMLHttpRequest 3270 application Commarea formatter • The SolonBridge is a web-enablement solution for CICS 3270 applications • Intermediary between the SolonRunner and the CICS 3270 bridge. • Handles 3270 bridge complexity • Drive 3270 business process from a browser ,via lightweight RESTful web service
Why use the 3270 bridge? CICS TS V1.1.1 3270 Bridge virtual terminal environment Bridge monitor 3270 application Recv map client 3270 Bridge Exit Send map Recv map BMS 3270 application 3270 data stream Send map • Business client access to unchanged 3270 applications • Coexist with “real” 3270 terminal access • 3270 emulation at API level (no screen scraping) • Virtual 3270 terminal facility interface to application • Intercepts BMS commands issued by application • Preserveapplication state data (TCTUA, return commarea)
SolonBridge function CICS TS V1.1.1 3270 Bridge virtual terminal environment Start BRExit SolonBridge 3270 application Recv map business request bridge vectors 3270 Bridge Exit Send map 3270 flow navigation • Single business request drives sequence of 3270 screens • Starts 3270 bridge exit to create 3270 bridge environment • Bridge vectors used to communicate with 3270 bridge exit • Calls 3270 flow navigation • Manages state tokens for 3270 session • guards against protected field update • Modified Data Tag, insures unaltered fields returned • Merge new partial screen data with previous screen
AOR routing AOR1 CICS TS V1.1.1 3270 Bridge Environment Start BRExit Bridge Monitor Recv map 3270 application 3270 Bridge Exit bridge vectors Routing Region Bridge vectors Solon Bridge Send map AOR2 3270 Bridge Environment Start BRExit 3270 flow navigation Bridge Monitor Recv map 3270 application bridge vectors 3270 Bridge Exit Bridge vectors Send map • AOR static routing • AOR context switching (i.e. TCTUA, RETURN COMMAREA)
3270 flow Navigation CICS Transaction Server SolonBridge 3270 Bridge Bridge vectors Business request 3270 Application 3270 flow navigation • Navigator is a virtual end user • Single business request drives a sequence of screens • Simple logic, essence of 3270 flow • Same map copybooks as used by 3270 application • Stay tuned for SolonBridge 3270 modeling and navigator generation
Performance monitoring and tracing • Integrated performance monitoring • Interval and daily statistics • Number of transactions • Transaction rate • response time average • RESTful server response time • Application response time • Transaction response time components delivered to web page • Integrated tracing • XML request/response • 3270 Bridge interactions
Solon Solution services • Services • SolonRunner PoC • Web page jQuery integration • 3270 flow navigators • Navigator training • General CICS application programming