This book shows a way forward in the development of secure enterprise software. The authors describe the business implications of Web 2.0---a set of techniques for user collaboration on the Web---and describe how the computer language EGL makes developers more productive, protects a company's investment in existing software, and facilitates use of Rich Internet Applications. In addition, the book provides an overview of Web security.
Enterprise Web 2.0 with EGL:
Introduces a variety of concepts that are essential for understanding modern computing, including service-oriented architecture, cloud computing, and agile development
Demonstrates how EGL handles widespread requirements such as service creation, database access, and reporting
Outlines the runtime technologies supported by EGL, including Java Enterprise Edition, Windows, IBM i, UNIX, and the mainframe environments CICS, IMS, and z/OS batch
Enterprise Web 2.0 with EGL is useful for:
Executives, managers, and architects who seek a creative, long-term response to the complexity of application development
Traditional developers who need to access the latest runtime technologies
Students of information technology
Ben Margolis — Ben Margolis is an IBM Advisory Writer and has more than 20 years of experience as a writer and programmer. He designed and co-developed a financial system for IBM headquarters, holds a Master of Science from the State University of New York, and received editorial training at EEI Communications.
Danny Allan — Danny Allan is the Director of Security Research at IBM Rational. He has more than seven years of experience in evaluating the data protection strategies of customers worldwide. Media outlets such as Bloomberg and The Wall Street Journal have repeatedly sought his views on Web security. He holds a Bachelor of Commerce degree from Carleton University.
PART I: OVERVIEW Chapter 1: Introduction Modes of Reliance on IT Support Mode Factory Mode Turnaround Mode Strategic Mode IT as a Commodity Software that Fulfills Its Role Software that Enables a Competitive Advantage Web 2.0 Service-Oriented Architecture Grow Your Software Agile Development The Importance of Abstraction in a Computer Language The Importance of Wide Coverage by a Computer Language Accentuate the Negative Are Enterprise Languages Disruptive? Do Enterprise Languages Inhibit Innovation? Do Enterprise Languages Have Flaws Caused by Higher Abstraction? Are Enterprise Languages Old News?
Chapter 2: Web 2.0 Interactive Web Sites Networks Collaboration Brand Image Revenue Owning and Extending Data Rich Internet Applications
Chapter 3: Introduction to Web Security Security Trends Threats by Type Security by Location Data in Transit Server-Side Security Client-Side Security Use of an LDAP-Compliant Server Security for a Rich Internet Application Web Servers and Application Servers Container-Managed Authentication Security Options Risk Assessing Risk Responding to Risk
Chapter 4: Service-Oriented Architecture Structure of a Service-Oriented Application Aspects of a Service Service Implementation Elementary Access Details Contract Loose Coupling Service Registry Service Level Agreement Web and Binary-Exchange Services Architectural Styles in Web Services Traditional RPC-Style SOAP Services REST Services REST-RPC Services
PART II: WEB 2.0 SOLUTIONS WITH EGL Chapter 5: EGL Scope Uses of EGL Supported Technologies Runtime Environment Persistent Data Storage User Interface Support for Service-Oriented Architecture Network Communication Report Production Integration with Existing Code Integrating Multiple Products that Support EGL
Chapter 6: EGL Rich UI in Context Multiple Tiers Support for Old and New Programming Models The DOM Tree Rich UI Handler Rich UI Editor Embedded Handlers Service Access Use of Libraries Model, View, Controller MVC in EGL Rich UI Validating Form Validators Form Validation, Commit, and Publish Defining Displayable Text in an External File Simulating Page Flow Switching Pages in the Simplest Case Switching Pages and Updating the Address Bar Handler Communication with Infobus
Chapter 7: Services and EGL Rich UI CICS Web Services Access of IBM i Programs as Web Services End-to-End Processing EGL Projects and Deployment Example of End-to-End Processing EGL Deployment Descriptor Service Client Bindings Web Service Deployment How Do You Set the Location Data for Service Access? Access of SOAP Services Access of EGL REST Services Access of Third-Party REST Services What is the Location for an EGL-Generated Service?
PART III: PROGRAMMING WITH EGL Chapter 8: Overview of Generation EGL Compilation EGL Build EGL Generation
Chapter 9: Language Organization Data Types Categories of EGL Data Types Data Item Record Part Dictionary Part Data Table Logic Parts Categories of EGL Logic Parts Program Within a Run Unit Library Service Handler Prototype Parts Categories of EGL Prototype Parts Interface Part ExternalType Part Delegate Part User Interface Parts Form Part FormGroup Part Annotations Stereotypes Set-Value Blocks Packages Use Statement
Chapter 10: Runtime Values Constants Variables Using the New Operator Using a Set-Value Block with a Reference Variable Arrays Array Literals Dynamic Arrays Structure-Field Arrays Assigning One Variable to Another Value Variable to a Value Variable Value Variable to a Reference Variable Reference Variable to a Reference Variable Reference Variable to a Value Variable Assigning a Record that Includes a Reference Field Adding a Record to an Array of Records Expressions Name Resolution in Expressions Assignment and Reference Compatibility Static and Dynamic Access
Chapter 11: EGL System Resources EGL Statements Code Documentation Data Assignment Conditional Processing Loop Control Transfer of Control Within a Program Transfer of Control Out of a Program System Libraries Exception Handling Propagation Exception Fields
Chapter 12: Files and Relational Databases Logical Unit of Work Data-Access Statements File Access File Names and Resource Associations Resource Associations Part ResourceAssociation Field Escape Character Support for Relational Databases Insertion and Retrieval Implicit and Explicit SQL Statements Open and ForEach Dynamic Arrays of SQL Records Exception Handling
Chapter 13: Reporting Support for BIRT Reports Initial Access of the BIRT Report Engine BIRT Handler Support for EGL Text Reporting
Chapter 14: JavaServer Faces Introduction to JSF EGL JSF and EGL Rich UI EGL JSF Handler Development Example Generation Outputs Binding a Web-Page Field to a Variable or Function EGL JSF in Context Frameworks View JSF Life Cycle
Appendix A: Sources of Information EGL and Rich UI MC Press Eclipse and BIRT JavaServer Faces
Appendix B: EGL Rich UI Widgets Styles Widget Types by Category Container Widgets Common Fields Box Div FloatLeft FloatRight Grouping Information Widgets Grid HTML Image Shadow Span TextLabel Tree Interactive Widgets BidiTextArea BidiTextField Button CheckBox Combo Hyperlink List ListMulti Menu PasswordTextField RadioGroup TextArea TextField Hover Widgets GridTooltip Tooltip TreeTooltip Fields Available in Most Widgets